利用宏定义令iOS项目当中的NSLog不执行

时间:2023-07-16 13:27:34

今天在博客园主页看到一篇帖子,提到NSLog消耗运行时性能:

http://www.cnblogs.com/sunnyxx/p/3680623.html

解决方案如下,在​Prefix.pch文件当中定义宏:

 #ifdef DEBUG
#define MyLog(...) NSLog(__VA_ARGS__)
#else
#define MyLog(...)
#endif

这段宏可以根据是否存在DEBUG宏分别展开不同的MyLog方法代码,

如此一来,只要所有地方都使用MyLog代替NSLog,在项目文件的Preprocessor Macros当中,将DEBUG=1去掉,那么打印日志的代码就会全被忽略掉了。