xcode中关于pch和.h的引用
来源:互联网 发布:淘宝原单店铺推荐2016 编辑:程序博客网 时间:2024/06/06 00:23
header.h
1.引入普遍使用文件
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
2.宏定义
屏幕尺寸
系统版本
颜色
文件路径
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
pch - Precompile Prefix Header
Xcode 6去掉Precompile Prefix Header的主要原因在于:
(1)去掉自动导入的系统框架类库的头文件,可以提高原文件的复用性,便于迁移。
(2)一个肥胖无比的Prefix Header会大大增加Build Time。
为了取代在Prefix Header中自动导入的框架,可以在每一个需要导入系统框架的文件中通过@import来手动导入,当然要确保Build Settings中的Enable Modules是打开的。
如果在Prefix Header中导入了,那么我们在工程的每一个文件中可以免费获得使用的权利,而无需手动在每一个.h/.m文件中导入。该文件确有其方便之处。
如果一定要用到Precompile Prefix Header,可以参考Xcode 5的配置来手动设置。
(1)在工程中增加一个pch文件,命名还是按照Xcode 5的模板比较好:工程名-Prefix.pch,例如a-Prefx.pch
(2)设置Build Settings
其中Prefix Header指定pch文件的位置。
注意:开关Precompile Prefix Header时,pch的编译和导入机制是有很大不同的。
如果Precompile Prefix Header为YES,那么pch会被预编译,预编译后的pch文件会被缓存起来,从而提高编译速度。可以从下面的Build Log中看出:
如果Precompile Prefix Header为NO,那么pch不会被预编译,而是在每一个用到它导入的框架类库的.m文件中编译一次。例如a-Prefix.pch导入了,ViewController.m和AppDelegate.m中都使用了objc_property_t这个类型(注意ViewController.h/m和AppDelegate.h/m都没有另外导入),那么在Build的过程中,在编译ViewController.m和AppDelegate.m时,a-Prefix.pch会被编译2次,每个.m文件编译一次。如下图:
由图可知,如果Precompile Prefix Header为NO,那么每个引用了pch内容的.m文件都要编译一次pch,可能Apple会另外做缓存机制,但是这样还是降低了编译的速度。
既然Apple标准都建议我们不用pch了,那么还是尽量少用吧。当然,如果一定要用,还是尽量减少pch文件中的内容,降低工程对pch文件的依赖性,便于日后的迁移和解耦。
- xcode中关于pch和.h的引用
- xcode中添加pch全局引用文件
- iOS - 关于header.h和pch
- Xcode中pch文件的使用
- Xcode中 .pch文件
- 关于Xcode 6 中去掉pch文件的原因及添加方法
- 关于在Xcode工程中的pch文件的配置
- 关于"Can't find..."*.pch"或"stdafx.h"的解决方法
- 关于jni中.h无法直接引用.cpp的问题
- Xcode 7 添加pch全局引用文件
- XCode中创建pch文件
- XCode中创建pch文件
- XCODE中添加pch文件
- Xcode中添加pch文件
- Xcode中添加.pch文件
- Xcode中添加pch文件
- Xcode中建立pch文件
- 在Xcode中添加pch文件的操作
- 【cocos2d-x 源码解析】shader 实现
- elasticsearch之字段缓存策略
- bzoj1257: [CQOI2007]余数之和sum(数论)
- [IBM MQ]2010解决
- Linux下终端配色设置
- xcode中关于pch和.h的引用
- C# 设置Excel打印选项及打印excel文档
- 在CentOS7上安装docker compose
- html5_AngularJs计时器
- 【排序算法】快速排序
- SpringBoot进阶之JPA实现分页、排序
- LAMP
- 我们采访了阿里云云数据库SQL Server的产品经理,他说了解这四个问题就可以了
- 10月11日云栖精选夜读:2017杭州云栖大会倒计时!研发效能主题专场五大亮点抢先看