本文共 887 字,大约阅读时间需要 2 分钟。
在Objective-C中,NSLog相当于C语言中的printf,常用于文字输出,使用起来也很方便。如果我们只是想在debug下打印信息,release下不打印,也比较容易实现.在项目的prefix.pch文件里加入下面一段代码,加入后,NSLog就只在Debug下有输出,Release下不输出了
#ifndef __OPTIMIZE__ #define NSLog(...) NSLog(__VA_ARGS__) #else #define NSLog(...) {} #endif但如果我们是开发SDK,那使用NSLog有很大的局限性了。比如SDK提供控制log输出的开关,开启log或者关闭log,如果APP中像上面那样定义了NSLog,在Release下,不管是开启还是关闭,都不会有log信息输出,所以我们需要实现一个跟APP低耦合的log系统,也就是不要使用NSLog了。