美文网首页
iOS中手把手教你配置pch文件

iOS中手把手教你配置pch文件

作者: Torin76 | 来源:发表于2017-09-28 11:22 被阅读42次
    • pch文件:

    预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里,它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码。在我的理解里是把一些宏定义(kScreenW等),一些要在多个类中使用的头文件在此文件中书写。简单来说,在.pch文件中定义的宏定义会作用到项目中的所有文件。

    • pch文件的作用:

      对于xcode6以后创建工程不在自动添加.pch文件了,很多资料认为.pch文件会影响效率。我觉得.pch文件总体上会加速编译,因为xcode会对.pch文件中的定义预编译并缓存。之所以减慢编译速度应该是因为很多开发者使用方式不对吧。
      我们可以想到.pch是把双刃剑,提供便利性的同时如果使用不当可能增加Build的时间。
    • 使用注意点:

    1. 不要把绝大多数甚至是所有的宏定义放进来。
    2. 在某个类或者某几个类中使用的宏定义别放进来。
    3. 放置公用性高的头文件,比如使用率较高的fundation框架,第三方库头文件。
    4. 为了整洁性的要求,建议把公用性低的宏定义整理到某个头文件再将该头文件写入.pch文件。
    • pch文件的创建

    1. 新建文件(command+N)选择PCHFile
    pch创建.png
    1. 点击项目,选择Bulid Settings,在搜索框中写入Prefix Header
    set.png
    1. 找到这一栏Precompile Prefix Header,将NO改为Yes
    YES.png
    1. 在Prefix Header这一栏后面双击出现白框,输入$(SRCROOT)/项目名/PCH文件名.pch 。
    输入.png

    注意这里的SRCROOT一定要大写,该目录下的所有文件不能出现汉字否则找不到路径。如下图的路径为:$(SRCROOT)/myCar/Resource/Global/PrefixHeader.pch

    路径.png
    1. 到这里已经配置完毕,快捷键(Command+B)编译下看是否报错,报错请看上面的注意点。没报错的话可以在pch文件写宏定义测试下,以及导入一些头文件。
    
    #ifndef PrefixHeader_pch
    #define PrefixHeader_pch
    
    // Include any system framework and library headers here that should be included in all compilation units.
    // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
    //下面是宏定是获取屏幕的宽度和高度
    #define KScreenW [UIScreen mainScreen].bounds.size.width
    #define KScreenH [UIScreen mainScreen].bounds.size.height
    
    #endif /* PrefixHeader_pch */
    
    
    

    相关文章

      网友评论

          本文标题:iOS中手把手教你配置pch文件

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