OC中关于.pch文件和NSLog

在项目开发中我们常常会在很多地方使用到打印,但是如果项目上线后,我们希望不要出现打印,影响性能而且没有实际意义.这个时候我们就可以采用在.pch文件中自定义一个NSLog,而且设置只在DEBUG模式下才可以有效.具体做法
1,创建一个.pch文件,在pch文件中自定义一个这样的宏:

#ifdef DEBUG
#define BSNSLog(...) NSLog(__VA_ARGS__)
#else
#define BSNSLog(...)
#endif```
2,在如下地方设置编译.pch文件,这个路径也可以写全路径,具体写法是$(SRCROOT)/加以下目录,或者直接在文件中找到pch,然后拖到这个框框里面,但是如果不写的话默认就是从当前项目同级的目录开始
![Snip20160202_9.png](http://upload-images.jianshu.io/upload_images/1328141-15495a5682450ac3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后编译一下
3,这个时候如果希望不在代码中写,也可以在如下地方设置宏,效果是一样的
![Snip20160202_10.png](http://upload-images.jianshu.io/upload_images/1328141-4f1c887e8378f713.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
具体如下,此时在程序中就会有Age=10这个宏,而不需要在pch文件中定义Age=10
![Snip20160202_11.png](http://upload-images.jianshu.io/upload_images/1328141-2144b49801f1aef6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(OC中关于.pch文件和NSLog)