在oc开发的过程中一般都会自定义NSLog,使其在debug模式下打印,relese模式下不让其打印,在swift中同样也可以做到:由于swift中没有宏定义,所以在swift中可以使用全局函数来实现,并且swift中的print打印的信息很少,我们可以自定义,打印出自己想要的信息,可以写到AppDelegate中,函数如下:
func DebugLog<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
}
写完之后需要配置一下,如下图
![](https://img.haomeiwen.com/i1977955/bc72037ac0fb5219.png)
其中 -D DEBUG :-D固定写法,DEBUG可以自己随意些,这里写的要与函数当中#if 后面的一致才可以.
然后可以按住:cmd+shift+< 快捷键调整模式来测试,debug模式下打印
override func viewDidLoad() {
super.viewDidLoad()
DebugLog(messsage: "日志信息")
}
输出:
ViewController.swift:(16)-日志信息
网友评论