1.简介
PCH文件是Xcode编程中全局引用共享的文件。可以在这里引入头文件或者宏定义来方便程序中多个文件访问。
2.PCH文件创建
打开工程 New File… -> iOS Other -> PCH File 输入PCH文件名字即可
3. PCH 文件配置
a. 找到 Project > Build Settings 搜索 “Prefix Header“;
b. 项目名字/PrefixHeader.pch (如 weihuan/PrefixHeader.pch );
c. 将Precompile Prefix Header改为YES,预编译后的pch文件会被缓存起来,可以提高编译速度;
注意:下图的 TARGETS 不是选 FastRenterTests ,应该选 FastRenter,否则找不到导入的类文件
4. PCH 文件常用
①导入头文件;
②写入常用的宏;
③定义常用的常量;
5. 创建文件时,自定义文件名前缀设置
项目名-Bridging-Header 配置
步骤一:####
创建头文件(该头文件是连接oc到swift的桥梁)
现在我们工程名为HeaderFile
,在HeaderFile
文件夹中右击项目,选择New File... -> iOS -> Source -> Header File
,给文件命名后(头文件命名任意,假设为Header.h)保存。
步骤二:####
进入到Build Settings
,找到Objective-C Bridging Header
选项,把头文件的路径赋值给该选项。如图3所示:
注意
这样写可能会报错,Xcode 有时神经回搭错!若按以上步骤走,可能会报下面的错误:
这时应该吧上面的路径填写改一下,改为:HeadFile/HeadFile/Header.h
这样就解决了,因为这个问题浪费我3个小时。
日了?够了,我!
6. 宏定义的预处理命令
1 #define: 定义一个预处理宏 2 3 #undef: 取消宏的定义 4 5 #include: 包含文件命令 6 7 #include_next: 与#include相似, 但它有着特殊的用途 8 9 #if: 编译预处理中的条件命令, 相当于C语法中的if语句 10 11 #ifdef: 判断某个宏是否被定义, 若已定义, 执行随后的语句 12 13 #ifndef: 与#ifdef相反, 判断某个宏是否未被定义 14 15 #elif: 若#if, #ifdef, #ifndef或前面的#elif条件不满足, 则执行#elif之后的语句, 相当于C语法中的else-if 16 17 #else: 与#if, #ifdef, #ifndef对应, 若这些条件不满足, 则执行#else之后的语句, 相当于C语法中的else 18 19 #endif: #if, #ifdef, #ifndef这些条件命令的结束标志. 20 21 defined: 与#if, #elif配合使用, 判断某个宏是否被定义 22 23 #line: 标志该语句所在的行号 24 25 #: 将宏参数替代为以参数值为内容的字符窜常量 26 27 ##: 将两个相邻的标记(token)连接为一个单独的标记 28 29 #pragma: 说明编译器信息 30 31 #warning 显示编译警告信息 32 33 #error: 显示编译错误信息