日常开发中,我们经常会给程序加上打印方便我们找问题调试,例如在ios开发中我们可以用NSLog(@"");来打印。很多时候可能我们会在很多地方加上打印来调试,但是过后可能会忘记注释或者去掉打印。NSLog打印是很消耗性能的,而且应用安装到手机,用户是看不到打印的。怎么来避免这个问题呢?
早前在Xcode5中,我们创建一个工程可以看到工程中有一个.pch的文件,但是在Xcode7中创建的工程就没有了这个文件,不过我们仍可以自己创建.pch文件到项目中使用
pch文件的作用:工程在编译过程当中,把PCH文件当中的所有内容导入到工程当中所有文件当中。
到pch文件中我们可以写上一段代码:(作用参照注释)
//表示只在oc文件中起作用
#ifdef __OBJC__
//这两句话会被导入到左右文件中ScreenW(屏幕宽度)
#define ScreenW [UIScreen mainScreen].bounds.size.width
#import "UIView+frame.h"
//只有在调试阶段(DEBUG)
#ifdef DEBUG
//XYMLOG代替NSLog来打印
#define XYMLOG(...) NSLog(__VA_ARGS__)
#else
//不是调试阶段(发布阶段)就去掉打印
#define XYMLOG(...)
#endif
#endif