首页 > 代码库 > swift学习:自定义Log
swift学习:自定义Log
import UIKit/* 总结:1:let file = (#file as NSString).lastPathComponent,#file获取的是打印所在的文件的全路径,转成NSString才能调用lastPathComponent获取的是路径最后的.后面的元素,as NSString转成NSString类型 2:let funcName = #function,获取打印所在的方法 3;let lineNum = #line,获取打印所在行数 4:拼接字符串的时候,可以用String方法的formart方法,打印可以使用插值运算:\() print("\(file):[\(funcName)](\(__LINE__))-123") */class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 1.获取打印所在的文件 let file = (#file as NSString).lastPathComponent // 2.获取打印所在的方法 let funcName = #function // 3.获取打印所在行数 let lineNum = #line // print("\(file):[\(funcName)](\(__LINE__))-123") // print("\(file):[\(funcName)](\(__LINE__))-123") XMGLog("hello swift") }}
import UIKit@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // print("AppDelegate-123") XMGLog("123") return true }}/* 总结:自定义Log: v定义Log 1. 定义Log的打印内容 打印所在的 件 #FILE 打印所在的方法 #FUNCTION 打印所在的行 #LINE 默认参数:当在方法中传参数时,也可以传入默认参数,定义:file : String = #file 全局函数:在AppDelegate中定义全局函数:泛型传打印内容:func XMGLog<T>(_ messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) 2.Log在Debug下 打印,在release下 不打印 定义标记项 —>buildSettings—>搜索swift flag—>Debug -> -D DEBUG 做标记--------在项目中实现:#if DEBUG #endif */func XMGLog<T>(_ messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) { #if DEBUG let fileName = (file as NSString).lastPathComponent print("\(fileName):(\(lineNum))-\(messsage)") #endif}
swift学习:自定义Log
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。