iOS 中pch文件的使用及利用pch文件消除项目中所有的NSLog函数
在实际的项目中,我们可能需要一些全局的宏定义或者某个文件,并且被反复使用。显然,如果在每个项目文件里都定义一个宏的话,是很费事的,今天我们来介绍一个文件pch文件,只有.h文件。
pch文件的作用:对于宏定义而言,相当于一个声明文件,这个文件是全局的。你也可以理解为,他设置完路径之后,被默认导入到项目中的各个文件中。但不能以这为定论,具体的,你自己百度吧。
1,pch文件如何创建
1),在项目中commond+n 选择 other 里面的 红色h文件(下面写着PCH File)点击next为他起个名字,然后creat就行了。下面是图,对,该上图了。
2),第一步完成之后,你需要做的是设置pch的路径,不设置的话,你的pch文件只能是酱油星。
如何设置路径?
(1),点击Build Settings 输入prefix 搜索,找到Apple LLVM 6.0 - Language(注意哈,6.0是xcode的版本,不同的xcode是不同的,不要纠结这个,知道吗)。下面有个Prefix Header 在它后面双击,会出来一个输入框,在输入框输入$(SRCROOT)/项目名/pch文件名.pch,这是格式,不要忘了pch文件的后缀。又到了上图时刻。
(2),看到输入框上面那一行Precompile Prefix Header吗?它默认是no,设置成yes之后,好像是可以在你pch文件创建之后的二次运行,提高效率,具体自己百度。
读者:为神马又要我们自己百度?
笔者:我是菜鸟55555,很多不懂的,只能显摆这点东西,你们不要为难我。
2,pch文件的使用。都创建出来了,直接用撒。
看看pch文件内部,看到我引入的AVFoundation头文件了吗?对了,其它的都像我这样弄。
看到那个KSCREEN了吗?,对它就是一个宏定义,其它的,也像我这样弄。是的,你在全局都可以使用。
3,如何消除项目中的NSLog函数?
重点来了,我们在项目的过程中,可能需要测试什么的,写了一大堆NSLog函数,输出了乱七八糟的东西。现在项目写完了,这些NSLog函数,想让他们呢闭嘴,别说话,可是又找不到它们了,肿么办?
笔者教你一招。
看图。(读者:又是图---。----)
这个段代码,是一个整体,写到pch文件里任何一个地方都行。注意,任何一个地方都行,不信你可以试试。
笔者:读者,你看完了吗?
确定看完了?
看完了,就把这段代码复制保存把,别敲了。
//消除文件中的nslog函数 #ifdef __OPTIMIZE__ #define NSLog(...)NSLog(VA_ARGS__) #else #define NSLog(...){} #endif