0%

PCH 文件的使用

作用

配置好 PCH 文件后,可以把常用的分类、第三方框架的头文件都导入到 PCH 文件中,这样默认就是每个类都会默认导入这些头文件;同样可以在这里进行宏定义

  • 优点是方便,写代码的时候就不需要每次都导入好多常用的头文件;
  • 缺点是即使该类不需要全部或者部分分类或框架,也会通通导入,会降低编译速度,并且最关键的是不利于项目的迁移;
  • 项目中应该谨慎使用 PCH 文件,只把最常用,几乎所有类都需要的头文件放在 PCH 文件中;

使用

  1. command + N 创建新文件,选择 PCH File,然后命名为 项目名-PrefixHeader 后创建;
  2. 之后在注释提示位置导入需要的头文件等;
  3. 之后在 Target –> Build Setting –> 搜索 prefix header –> 在对应项填入 PCH 文件的路径 $(SRCROOT)/$(PRODUCT_NAME)/项目名-PrefixHeader.pch
  4. Precompile Prefix Header 的值改为 YES,PCH 文件中预编译的头文件就会被缓存,这样可以加快编译速度;

其中,PCH 文件创建后默认如下所示:

1
2
3
4
5
6
7
#ifndef Demo_PrefixHeader_pch
#define Demo_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.

#endif /* Demo_PrefixHeader_pch */