iOS工程开发笔记<二>

在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被去除了。

Xcode 6去掉Precompile Prefix Header的主要原因在于:

(1)去掉自动导入的系统框架类库的头文件,可以提高原文件的复用性,便于迁移。

(2)一个肥胖无比的Prefix Header会大大增加Build Time。

为了取代在Prefix Header中自动导入的框架,可以在每一个需要导入系统框架的文件中通过#import来手动导入,当然要确保Build Settings中的Enable Modules是打开的。

如果在Prefix Header中导入了,那么我们在工程的每一个文件中可以免费获得使用的权利,而无需手动在每一个.h/.m文件中导入。该文件确有其方便之处。

如果一定要用到PreFix Header文件,我们可以手动配置。

  1. 在工程中增加一个pch文件,命名还是按照Xcode 5的模板比较好:工程名-Prefix.pch,例如a-Prefix.pch
  2. 设置Build Settings

设置Precompile Prefix Header为YES,那么pch会被预编译,预编译后的pch文件会被缓存起来,从而提高编译速度。可以从下面的Build Log中看出:

如果Precompile Prefix Header为NO,那么每个引用了pch内容的.m文件都要编译一次pch,可能Apple会另外做缓存机制,但是这样还是降低了编译的速度。

既然Apple标准都建议我们不用pch了,那么还是尽量少用吧。当然,如果一定要用,还是尽量减少pch文件中的内容,降低工程对pch文件的依赖性,便于日后的迁移和解耦。

posted on 2014-10-29 17:06 Semp 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/WongSuechang/p/4059992.html

iOS工程开发笔记二相关推荐

  1. 【Visual C++】游戏开发笔记二十三 游戏基础物理建模 五 粒子系统模拟 二

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  2. 【Visual C++】游戏开发笔记二十三 游戏基础物理建模(五) 粒子系统模拟(二)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7607916 作者:毛星云    邮箱: h ...

  3. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  4. Android工程开发笔记一

    Android工程开发笔记<一> ---------------------------------------不同 APP相互调用 activity 1.ComponentName() ...

  5. 微信小程序开发笔记二(WXSS和CSS样式美化)

    微信小程序开发笔记二(WXSS和CSS样式美化) 一.CSS基本知识 1.Class选择器的定义 2.ID选择器的定义 3.ID选择器和class选择器的区别 4.CSS中设置颜色 5.CSS中的文本 ...

  6. [安卓开发笔记二]android Studio通过jni调用C++代码

    [安卓开发笔记二]android Studio通过jni调用C++代码 16/12/11 更新 此博客基于安卓android studio 1.5所写,现在已经有了android studio2.2的 ...

  7. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7707628 作者:毛星云 邮箱: happ ...

  8. IOS 逆向开发(二)密码学 HASH

    IOS 逆向开发(二)密码学 HASH 1. HASH算法简介 1.1 HASH是什么? 1.2 Hash的特点 1.3 Hash的作用 1.4 Hash有哪些流行的算法 1.5 Hash算法的碰撞 ...

  9. JNI开发笔记(二)--创建JNI基础工程并运行

    创建JNI基础工程并运行 引 1. 创建JNI工程 2. 添加虚拟手机设备 3. 运行JNI基础工程 引 JNI开发笔记(一)–Android Studio安装与环境搭建 1. 创建JNI工程 And ...

最新文章

  1. python3.8.0shell_Python 3.8.0 正式发布 更新内容
  2. 《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.3 架构设计中的重要概念...
  3. 对于第十五届智能车竞赛由于受到疫情影响对于确定国赛中可能存在瑕疵的地方
  4. 英伟达开源行人生成/重识别代码
  5. 背景建模与前景检测2(Background Generation And Foreground Detection Phase 2)
  6. Struts2的properties配置文件详解
  7. 程序员必备的在线编程辅导平台之TutorialsPoint
  8. VTK:开发Warnings实例
  9. tomcat部署web應用時涉及到的基本概念
  10. 微信小程序的一些数据调用方式
  11. python导入requests库一直报错原因总结_python pip 安装库文件报错:pip install ImportError: No module named _internal...
  12. 佳能EOS R5逼出性能怪兽索尼A1,2021佳能如何接招?
  13. Element UI的表格table列的宽度自适应设置
  14. python彩票预测与分析_130期祥子大乐透预测奖号:后区大小分析
  15. 怎么让图片一直转圈_半夜跟着导航开进山路,货车绕了3小时仍原地转圈,小两口快急哭...
  16. [含论文+答辩PPT+任务书+中期检查表+源码等]S2SH洋酒销售系统|商城
  17. 网站木马检测_网站建立检测劫持,网站建立检测劫持如何操作,详细步骤
  18. Allegro-Flash焊盘
  19. ipad可以装二级计算机培训吗,当初给孩子买iPad上网课的家长,开始后悔了……
  20. MySQL主从之GTID主从

热门文章

  1. php cms选择,php cms 选择哪个好?
  2. 小学四年级计算机在线考试,四年级信息技术试卷一.doc
  3. java逐行读取文件_Java逐行读取文件
  4. easymock接口模拟_EasyMock部分模拟
  5. json.parser性能_Jackson JSON Java Parser API示例教程
  6. CloudEra Hadoop VMWare单节点环境设置
  7. 一文讲解安卓应用软件开发有什么优势?
  8. (免费领取名企Java面试题)volatile作用,指令重排相关
  9. 什么是引发?Java运行时系统引发的异常如何处理?
  10. Java基础篇:方法重载