PCH文件的作用:
Xcode会提前编译PCH文件,并且在每个文件中都拷贝PCH文件的内容。利用这一特点,我们可以在PCH文件里存放一些公用的宏
,存放一些头文件
,以及自定义一些有用的宏
。
PCH文件的创建:
File -> New -> File... -> other -> PCH文件
然后就会出现
- PCH文件配置: Build Settings -> 找到Apple LLVM…(或者搜索prefix) -> 将
Precompile Prefix Header
设置为YES
。
接下来需要在Prefix Header中写入PCH文件的路径,注意默认PCH文件这个路径与项目文件处于同一层级,也就是说Xcode从项目文件的目录开始查找PCH文件,所以在这里只需要写项目名称/文件名称.pch而不用写全路径。$(SRCROOT)/SchoolMeal/ZSPBase_PrefixHeader.pch
其中SchoolMeal为项目名称,ZSPBase_PrefixHeader.pch为pct文件名
或者直接拖进去(如下图所示)
pch正确的使用方式
pch文件作为苹果早期项目自建的文件,肯定是有其优势的。事实上,pch不但不会降低编译速度,总体上反而会提高编译速度。预编译后的头文件会被缓存起来,再次编译的时候就不需要重新编译pch文件中导入的内容,从而提高编译速度。
正确的使用方式:
不要把所有的宏定义都放到平常文件中,尤其是共用性较小的宏定义;
将公用性高的头文件放到pch中,比如fundation框架等;
(整洁性原则)将零散的宏定义专门创建一个头文件来放置,再导入到pch中,方便查看和修改;