当我们升级到XCode6后, 新建project发现默认是没有pch文件的。非常多人開始不习惯了,苹果到底为什么要取消这一个pch文件。

苹果觉得,因为组件单一模块的原因。你不应该在你的prefix代码中放入不论什么的代码,把他们放在你确实须要放入的文件里。把你的定义放到属于他们的文件里。

尽量不要使用宏定义(define)。。除非是非不得已的时候。(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你改动宏定义的时候 会导致大量的代码被又一次编译 另外 宏定义存在很多潜在的bug 是由于在预编译的时候,他并不会被发觉到的)。假设你确实 在被逼无奈须要使用宏定义,把他们放在须要被include的头文件里。而不是放在prefix文件里。 

prefix header文件是被那些大量使用 以及 差点儿全部系统中的文件都须要被使用(比如
Foundation.h)。

假设 你有一些东西大量存在,你应该又一次思考你的架构问题你。由于 当你改动你prefix header的一些代码的时候,prefix header导致整个项目又一次编译,这让你的代码重用变得困难。而且导致一些琐碎build的问题。

所以 不要去使用prefix header 这样能够避免你大量的又一次编译整个项目的时间 

假设你仍然想要使用预编译,你能够创建一个新的而且传递给编译器的前段,这样的方法非常少见(我没用过),但确实是一个不错的方法。

假设虽然如此,您还是执意要使用这个文件,也是有解决的方法的。我们须要手动加入。加入过程例如以下:

版权声明:本文博主原创文章,博客,未经同意不得转载。

苹果试图做?XCode6 放弃prefix.pch档的更多相关文章

  1. xcode6没有prefix.pch预编译文件解决办法

    注意到Xcode6创建的工程没有prefix.pch. 于是手动创建. 在other下选择pch文件 接着到工程的build setting下设置开启预编译并配置路径(文件的路径.因为我新建在cofi ...

  2. Xcode6.1 Prefix.pch添加方式

     本文转载:http://blog.csdn.net/foolsong/article/details/40653497     在Xcode6.1中创建工程默认是没有Prefix.pch文件的,需要 ...

  3. XCode6 生成prefix.pch文件

    XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)

  4. Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件

    转载:  http://blog.csdn.net/iosdevtip/article/details/40918353 一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到, ...

  5. Xcode6为什么干掉pch(Precompile Prefix Header)&怎样加入pch文件

    一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6居然干掉pch文件了. 为什么xcode6没有自己主动创建pch文件呢? 简单地看:我们在写项目的时候,大部分 ...

  6. Xcode6之后创建Pch预编译文件

    在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件 ...

  7. iOS之Prefix.pch

    本文转载至 http://blog.csdn.net/lvxiangan/article/details/21325093   Prefix.pch的作用和用法 Hello World_Prefix. ...

  8. ios开发 <AppName>-Prefix.pch文件的用法详解

    我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch.对于这个 ...

  9. Xcode7 Xcode6 中添加pch文件

    在Xcode7 和 Xcode6 中添加.pch文件是一样的,具体操作图文如下: 第一步:在Xcode的项目里,一般在Supporting Files 文件夹下创建,选中Supporting File ...

随机推荐

  1. Jpeg(模拟)

    Jpeg Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status  ...

  2. IOS上 关于状态栏的相关设置(UIStatusBar)

    知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如 ...

  3. Git 笔记一 Git简介

    git 笔记一 什么是版本控制 所谓版本控制就是记录对文件的修改记录,这样以后就能回退到需要的 版本.比如你对一段代码进行了几次修改,有几次修改不想要了,如果 使用了版本控制,就可以回退到未做这些修改 ...

  4. 在SQL SERVER中批量替换字符串

    update [表名] set [字段名]=replace([字段名],'被替换原内容','替换后内容')

  5. SQL Server 2008 geometry 数据类型

    摘自SQL Server 2008帮助 平面空间数据类型 geometry 是作为 SQL Server 中的公共语言进行时 (CLR) 数据类型实现的.此类型表示欧几里得(平面)坐标系中的数据. 注 ...

  6. ADO.NET程序访问数据的组件

    组成--数据集(内存中的数据库) --DataSet数据集 --DataTable数据表 --DataColumn数据列 --DataRow数据行 --DataView数据视图--NET数据提供程序 ...

  7. ms sql 根据表名查询 表中所有字段的属性值 sql语句

    SELECT表名=case when a.colorder=1 then d.name else '' end,--表说明=case when a.colorder=1 then isnull(f.v ...

  8. UIWindow & UIWindowLevel详解

    一.UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面.UIWindow在程序中主要起到三个作用: 1.作为容器 ...

  9. POJ 2140 Herd Sums

    http://poj.org/problem?id=2140 Description The cows in farmer John's herd are numbered and branded w ...

  10. PHP中__autoload()的不解之处,求高手指点

    一整段代码: 运行结果: 使用__autoload(),分为两页代码: 第一段代码: ACMEManager.php,代码如下: 运行结果: