Swift下自定义printf, 在状态DEBUG打印

主要区别:

  1. NSLog会记录下时间而print没有。
  2. 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
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。