美文网首页程序员
Xcode:PCH文件的创建和使用

Xcode:PCH文件的创建和使用

作者: 鴿鴿 | 来源:发表于2018-03-19 18:26 被阅读0次

    由于Xcode不再自动生成PCH文件(Precompile Prefix Header File),所以需要我们自己创建,在新创建pch文件的时候,需要做的操作:

    找到PCH File image.png

    创建完成之后,在Build Settings里面找到下图所示位置

    image.png

    关于路径的填写问题,双击打开之后有个弹框,然后用鼠标拖动创建好的 PCH 文件,拖到弹框之后放手,就会自动生成 PCH 的路径
    然后用$(SRCROOT)替换一下,就可以了(注意替换前后显示的路径是一致的方可)

    这是拖拽之后生成的路径 image.png
    注意观察,替换前后下图显示的路径是没有变化的
    
    image.png

    以下内容网上查找,属于转载,但发现也是转载文章,尝试但未找到原文章@Enrica_Shi
    https://www.cnblogs.com/wzdevelop/p/7339262.html

    链接已失效,尝试找到作者简书,但是文章数为0

    二、编辑PCH文件

     由于编辑器会自动帮你把所有的预编译文头文件导入到项目所有的源文件中,所以从编程规范上讲,应该利用条件编译将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文件的使用,无形中增加了项目编译的时间,应该有选择性的慎重使用。

    相关文章

      网友评论

        本文标题:Xcode:PCH文件的创建和使用

        本文链接:https://www.haomeiwen.com/subject/tgljfftx.html