在swift中默认使用print打印调试信息,但是可能是swift本质追求简洁,就连调试信息的打印都隐藏了需要我们需要的东西,在OC上的时间都被隐藏了.并且有时候调试的设置了print,等调试完成了却很难定位这条语句写在哪里.因此我们需要自定义打印调试信息
直接给代码
func XLog<T>(_ message:T, file:String = #file, lineNumber:Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
print("[\(fileName) line:\(lineNumber)] - \(message)")
#endif
}
效果
XLog("测试测试")
************************************************************
[CardListViewController.swift line:22] - 测试测试
备注
- 调用方法和print一样
- XLog是自定义的方法名,可以根据自己的喜好修改
- <#file> 就是调用文件的路径,在OC和低版本的swift使用的是FILE
- XLog<T>设置的是泛型,详细的用法自己摸索
- <#file>,<#line> 这些是隐藏属性,关于更多的打印方法隐藏属性,请自行百度
网友评论