苹果试图做?XCode6 放弃prefix.pch档
当我们升级到XCode6后, 新建project发现默认是没有pch文件的。非常多人開始不习惯了,苹果到底为什么要取消这一个pch文件。
苹果觉得,因为组件单一模块的原因。你不应该在你的prefix代码中放入不论什么的代码,把他们放在你确实须要放入的文件里。把你的定义放到属于他们的文件里。
尽量不要使用宏定义(define)。。除非是非不得已的时候。(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你改动宏定义的时候 会导致大量的代码被又一次编译 另外 宏定义存在很多潜在的bug 是由于在预编译的时候,他并不会被发觉到的)。假设你确实 在被逼无奈须要使用宏定义,把他们放在须要被include的头文件里。而不是放在prefix文件里。
prefix header文件是被那些大量使用 以及 差点儿全部系统中的文件都须要被使用(比如
Foundation.h)。
假设 你有一些东西大量存在,你应该又一次思考你的架构问题你。由于 当你改动你prefix header的一些代码的时候,prefix header导致整个项目又一次编译,这让你的代码重用变得困难。而且导致一些琐碎build的问题。
所以 不要去使用prefix header 这样能够避免你大量的又一次编译整个项目的时间
假设你仍然想要使用预编译,你能够创建一个新的而且传递给编译器的前段,这样的方法非常少见(我没用过),但确实是一个不错的方法。
假设虽然如此,您还是执意要使用这个文件,也是有解决的方法的。我们须要手动加入。加入过程例如以下:


版权声明:本文博主原创文章,博客,未经同意不得转载。
苹果试图做?XCode6 放弃prefix.pch档的更多相关文章
- xcode6没有prefix.pch预编译文件解决办法
注意到Xcode6创建的工程没有prefix.pch. 于是手动创建. 在other下选择pch文件 接着到工程的build setting下设置开启预编译并配置路径(文件的路径.因为我新建在cofi ...
- Xcode6.1 Prefix.pch添加方式
本文转载:http://blog.csdn.net/foolsong/article/details/40653497 在Xcode6.1中创建工程默认是没有Prefix.pch文件的,需要 ...
- XCode6 生成prefix.pch文件
XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)
- Xcode6为什么干掉pch(Precompile Prefix Header)&如何添加pch文件
转载: http://blog.csdn.net/iosdevtip/article/details/40918353 一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到, ...
- Xcode6为什么干掉pch(Precompile Prefix Header)&怎样加入pch文件
一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6居然干掉pch文件了. 为什么xcode6没有自己主动创建pch文件呢? 简单地看:我们在写项目的时候,大部分 ...
- Xcode6之后创建Pch预编译文件
在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件 ...
- iOS之Prefix.pch
本文转载至 http://blog.csdn.net/lvxiangan/article/details/21325093 Prefix.pch的作用和用法 Hello World_Prefix. ...
- ios开发 <AppName>-Prefix.pch文件的用法详解
我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch.对于这个 ...
- Xcode7 Xcode6 中添加pch文件
在Xcode7 和 Xcode6 中添加.pch文件是一样的,具体操作图文如下: 第一步:在Xcode的项目里,一般在Supporting Files 文件夹下创建,选中Supporting File ...
随机推荐
- Biorhythms(中国剩余定理)
Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 127339 Accepted: 40342 Des ...
- HDU 1085 Holding Bin-Laden Captive! (母函数)
Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- NuGet学习笔记(2)——使用图形化界面打包自己的类库(转)
上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...
- Selenium WebDriver 学习笔记
1. 打开VS2012 2. 新建工程(单元测试工程或控制台程序都可以, 看需求) 3. 工具->NuGet程序包管理器->程序包管理器控制台 4. 输入"Install-Pac ...
- commit后数据库干的工作
用户提交commit后,数据库干的工作有: 1,oracle为用户的transaction生成一个SCN号. 2,LGWR把redo buffer中的数据写入到redo log file,同时把SCN ...
- IOS 开发调试方法
0.警告 尽量一个警告都不要有 1.错误 1)红色提示 编译过不去的原因大部分是语法,检查括号的匹配,变量名称,作用域范围 2)编译可以通过,可以运行 a.运行过程中程序崩溃 在debug区域的右侧, ...
- iOS 之URL schemes
添加 URL schemes 步骤: 1.打开info.plist文件. 2.点击 “+ ”号添加,或者在列表上点击鼠标右键,选择 Add Row. 3.选择 URL types. 4.点击三角号展 ...
- [翻译] C++ STL容器参考手册(第一章 <array>)
返回总册 本章节原文:http://www.cplusplus.com/reference/array/array/ 1. std::array (C++11支持) template < cla ...
- alloc & init & dealloc
在Objective-C中,alloc,init和dealloc是经常使用的函数,那么它们内部到底是如何实现的呢?通过查看libobjc运行时库,可以发现他们的工作原理. 1 alloc alloc的 ...
- Mysql常用命令行大全(转)
第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uro ...