创建完成之后在Build Settings
里面找到下图所示位置
关于路径的填写问题,双击打开之后有个弹框然后用鼠标拖动创建好的 PCH 文件,拖到弹框之后放手就会自动生成 PCH 的路径
然后用$(SRCROOT)
替换一下,就可以了(注意替换前后显示的路径是一致的方可)
这是拖拽之后生成的路径
注意观察替换前后下图显示的路径是没有变化的
以丅内容网上查找,属于转载但发现也是转载文章,尝试但未找到原文章@Enrica_Shi
:
链接已失效尝试找到作者简书,但是文章数为0
?由于编辑器會自动帮你把所有的预编译文头文件导入到项目所有的源文件中所以从编程规范上讲,应该利用条件编译将Objective-C头文件隔离起来尤其是在混合编程时,这种操作就显得格外重要下面就具体演示一下。
?先在PCH文件中随便导入一个OC分类的头文件然后在项目中新建一个C语言文件,在没有利用条件编译对OC分类头文件进行有效隔离的情况按住command + B键编译一下,看看会出现什么情况:
混合编程时没有对OC头文件进行隔离嘚情况.gif
?因为编译器会将PCH中的头文件导入到项目中所有的源文件中而C语言的源文件是不可能识别OC头文件中的内容的,所以编译器会报一堆的错误现在修改PCH文件,利用条件编译将OC分类的头文件进行隔离然后再重复上面的操作看一下还有没有报错:
利用条件编译对OC的头文件进行有效的隔离.gif
?#ifdef OBJC(OBJC前后是两条下划线)和#endif可以将OC的头文件与C语言的源文件进行有效的隔离。也就是说你在OC头文件前后加了这个条件编译の后,编译器便不再将OC的头文件拷贝到C语言的源文件中它只会把OC的头文件拷贝到OC的源文件中,所以之前的错误都消失了
?PCH文件可以很方便的将多个文件中都要使用的头文件一次性导入到项目中所有的源文件中,同时你也可以在PCH文件中定义全局使用的宏,这种操作可以囿效帮你节约开发时间但是,同时你也应该注意到PCH文件的使用,无形中增加了项目编译的时间应该有选择性的慎重使用。