主要区别:
- NSLog会记录下时间而print没有。
- NSLog是线程安全的而print没有。
。 print只在调试模式下在控制台输出而NSLog在运行模式也会。
总结说明:
根据上面的区别可以看出一般用print,因为print比较快,而且只在调试模式下起作用,在不考虑线程安全问题时print是较好选择。
1..由于Swift没有宏的概念, 所以
TARGET -> Build Setting -> Other Swift Flags的Debug状态加一个 -D DEBUG
2.在Common 公共模块自定义方法
// MARK:- 自定义打印方法
func NSLog<T>(_ message : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
print("\(fileName):(\(lineNum))-\(message)")
#endif
}