iOS开发中pch文件的使用误区探讨
来源:互联网 发布:臭苋菜 知乎 编辑:程序博客网 时间:2024/06/14 01:18
写在前面:
刚刚开始接触iOS,也就是在Xcode 6之前,在项目中使用pch文件很流行,把头文件和宏定义都扔进去,可以少写很多代码,提高开发效率。Xcode 6之后,苹果默认去掉了pch文件,很多人都说是pch降低了编译速度,苹果为了用户体验就去掉了。然后大部分人就开始不用pch了。
事实上,pch不但不会降低编译速度,总体上反而会提高编译速度。。预编译后的头文件会被缓存起来,再次编译的时候就不需要重新编译pch文件中导入的内容,从而提高编译速度。
问题1:那么,为什么会有很多人说pch降低编译速度?
- 我想是因为使用方式不对,反而导致编译速度降低吧。罪魁祸首就是大量的共用性不高的宏定义和头文件的引入。编译的时候整个工程范围地查找和替换这些宏定义字段,重复导入这些头文件,不慢就奇怪了。
正确的使用方式:
- 不要把所有的宏定义都放到平常文件中,尤其是共用性较小的宏定义;
- 将公用性高的头文件放到pch中,比如fundation框架等;
(整洁性原则)将零散的宏定义专门创建一个头文件来放置,再导入到pch中,方便查看和修改;
问题2:如果不使用pch,又该如何处理公用的宏、框架和三方库?
- 答案是使用继承,在父类的头文件中定义宏和导入共用框架、三方库。需要用到的才去继承。可以根据项目的框架,各个层之间分开去定义父类。如MVC中的View层,父类中可以添加控件的Category,屏幕宽高宏等。
问题3:即使知道pch的正确使用方式,为何大部分开发者也尽量不使用pch文件?
- 有些时候宏、框架和三方库共用性高不高很难去界定和把握,就会造成纠结状态,干脆就不用了。另一个最大的坏处,我想是pch降低了代码的可移植性。把类中使用的框架等放在pch中,要么你要重新去导入,要么把pch一同拖走,还要删掉没用的代码,代价也是蛮大的。
0 0
- iOS开发中pch文件的使用误区探讨
- iOS开发中Pch文件的使用
- iOS开发中Pch文件的使用与技巧
- iOS开发 -- PCH文件的使用
- iOS-开发之 pch 文件的使用
- iOS 开发 Pch 文件的正确使用
- iOS 开发 Pch 文件的正确使用
- iOS 开发 Pch 文件的正确使用
- iOS 开发 -- Pch 文件的使用
- iOS 开发 Pch 文件的正确使用
- iOS 开发 Pch 文件的正确使用
- iOS开发之pch文件的使用
- iOS中pch文件的基本使用
- iOS 中 pch文件的使用
- iOS中.pch文件的使用
- IOS中.pch文件的使用
- iOS - .pch文件的使用
- iOS - .pch文件的使用
- 自己封装的web请求
- cron表达式详解
- vc2010编译错误atlcore.h(35): fatal error C1189
- LNMP以及LAMP的解释说明(系统名词普及)
- python json转换异常:“In order to allow non-dict objects to be serialized..."
- iOS开发中pch文件的使用误区探讨
- easyui combobox
- Android RecyclerView 使用完全解析 体验艺术般的控件
- android开发之工具类:获取手机设备的一些数据DeviceUtil
- 队列
- Centos6.8安装CKAN2.5.2的安装指南
- 人月神话读书笔记(3)----外科手术队伍
- [LeetCode] 8. String to Integer (atoi)
- android入门:zxing学习笔记(一)