把下面代码放在const(常量)文件中
//获取打印的文件名、打印函数、打印行数
func printLog(_ msg: Any,file: NSString = #file,line: Int = #line,fn: String = #function) {
#if DEBUG
let t = String.formatDate(Date(), "yyyy-MM-dd HH:mm:ss.SSSSSS")
let prefix = "\(t) \(file.lastPathComponent) -> \(fn) [第\(line)行] \(msg)";
print(prefix)
#endif
}
上面的获取时间的方法中有一个String的类方法 我写在了类扩展中,代码如下:
extension String {
static func formatDate(_ date:Date,_ format:String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.string(from: date)
}
}
使用:
printLog("这是啥啊 ??? ")
//打印结果如下:
//2022-03-10 11:39:06.321000 TestFristController.swift -> viewDidLoad() [第94行] 这是啥啊 ???
//打印变量
printLog("images == \(images)")
//2022-03-10 11:39:39.898000 TestThridController.swift -> jumbToOtherVC() [第77行] images == [<UIImage:0x2838dc120 anonymous {828, 1472}>, <UIImage:0x2838dc000 anonymous {828, 876}>]