与OC中的自定义NSLog相似,先创建一个Swift File
将以下代码复制到新创建的文件中
func printLog<T>(message: T,
logError: Bool = false,
file: String = #file,
method: String = #function,
line: Int = #line)
{
if logError {
print("\((file as NSString).lastPathComponent)[\(line)], \(method): \(message)")
} else {
#if DEBUG
print("\((file as NSString).lastPathComponent)[\(line)], \(method): \(message)")
#endif
}
}
然后在工程的Build Settings中将Other Swift Flags中的Debug值修改成$(inherited) -D DEBUG
最后将所有的print替换成printLog,在打印的时候就会显示在多少行和在什么方法中调用
在程序上架之后将Other Swift Flags中的DEBUG值删除所有的printLog就失效了,可以达到优化性能的目的