欢迎来到 IT实训基地-南通科迅教育
咨询电话:0513-81107100
iOS pch文件详解
2017/3/24
南通科迅教育
421
南通零基础IT培训机构哪个好

在Xcode6之后,包括现在的Xcode7,都不会自动产生.pch文件了。貌似已经不推荐使用了。但是在看别人很多项目的时候,还是有包括这个文件,今天我们来谈谈.pch是什么吧。

***_Prefix.pch就是该项目的预编译头文件。.pch表示PreComplied Header,是一个工程要用到的来自于外部框架的头文件列表。Xcode将会首先会编译.pch中这些头文件,以减少在Build整个项目的时间。通常所有的文件都自动包含了pch文件,系统在编译每个.h, .m文件前,都先会import这个文件,而不再需要单独编译每个文件中的头文件。加速了编译过程。

如果我们不小心删掉了.pch文件,那么应该怎么办呢?自己再创建一个PCH File即可,名字可以任意取。然后再来到项目设置的Build Setting中,右上角搜索框中输入“pch”进行查找,找到一个Prefix Header,然后输入修改后的名字即可。如下:注意这里是一个相对路径。

\

 

\

 

所以有时候我们常常把很多常用的头文件都包含到pch中,比如下面就是我的一个pch文件:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef MyPass_pch
#define MyPass_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.
 
#importAppDelegate.h
#import<uikit uikit.h="">
#importAppDelegate.h
 
#endif/* MyPass_pch */
</uikit>

 

这样,我们就不需要在所有的.h, .m文件中包含这三个头文件了。但是请注意!!!!!!有一个例外!!!!!

iOS项目中的AppDelegate.h文件中的#import 不能缺少。这是因为AppDelegate.h文件是整个项目的启动文件,比pch文件早编译,所以AppDelegate.h中所需的头文件不能放入pch中。

我在前面一篇博客《iOS定义常量的最佳实践》中就如何在项目中定义常量进行了说明,现在有了pch文件,这也变得很方便了。我们可以在pch文件中进行#define 宏定义。然后在项目的任何位置都可以使用这个宏定义,不需要显式的引入pch文件,非常方便。可惜是pch中不能定义const常量。。。

77
关闭
先学习,后交费申请表
每期5位名额
在线咨询
免费电话
QQ联系
先学习,后交费
TOP
您好,您想咨询哪门课程呢?
关于我们
机构简介
官方资讯
地理位置
联系我们
0513-91107100
周一至周六     8:30-21:00
微信扫我送教程
手机端访问
南通科迅教育信息咨询有限公司     苏ICP备15009282号     联系地址:江苏省南通市人民中路23-6号新亚大厦三楼             法律顾问:江苏瑞慈律师事务所     Copyright 2008-