求助,真是郁闷,玩了一大半了硬盘总坏 坏人总造谣坏了

7297人阅读
ios开发实用信息(84)
一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。
为什么xcode6没有自动创建pch文件呢?
简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。具体原因
StackOverFlow上讨论的已经比较清晰了
如何在Xcode6中添加pch(Precompile Prefix Header)?
1,Command+N,打开新建文件窗口:ios-&other-&PCH file,创建一个pch文件:“工程名-Prefix.pch”:
2,将building setting中的precompile header选项的路径添加“$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/LotteryFive/LotteryFive-Prefix.pch)
可以了,编译一下程序,如果有错误检查一下添加的路径是否正确。
3,将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度
微信公众号:iOS开发
?最新iOS、iPhone资讯,iOS开发者、swift开发、果粉聚集,参与技术讨论,整理开发技巧,分享创业经验!享受生活、热爱编程!
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
iOS开发:iOSDevTip 扫描二维码关注:
猿圈:CodePush 扫描二维码关注:
访问:140126次
积分:2403
积分:2403
排名:第14513名
原创:97篇
转载:31篇
评论:28条
(1)(1)(1)(2)(8)(21)(5)(1)(6)(3)(3)(3)(8)(1)(1)(12)(1)(6)(2)(12)(5)(25)iOS开发(9)
UI技术相关(6)
今天我开了个新项目,由于很多东西每页都要define所以我建立了一个pch文件.
为什么xcode6和7没有自动创建pch文件呢?
简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。具体原因
StackOverFlow上讨论的已经比较清晰了
StackOverFlow:为什么xcode6没有自动创建pch文件呢?
如何在Xcode6中添加pch(Precompile Prefix Header)?
1,Command+N,打开新建文件窗口:ios-&other-&PCH file,创建一个pch文件:“工程名-Prefix.pch”:
2,将building setting中的precompile header选项的路径添加“(SRCROOT)/项目名称/pch文件名”(例如:(SRCROOT)/LotteryFive/LotteryFive-Prefix.pch)
添加时,你可以左键双击prefix Header行
然后将文件拖进弹出的框里就行.
这里强调一下,如果你是自己用,那么不需要理会是绝对还是相对路径,但是你要是团体项目,或者拿到别人的电脑上运行就需要注意了,报错了就过来改下路径.
可以了,编译一下程序,如果有错误检查一下添加的路径是否正确。
3,将Precompile Prefix Header为YES,预编译后的pch文件会被缓存起来,可以提高编译速度
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1764次
排名:千里之外& & & & XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)
& & @ 取消的原因:
Stackoverflow 上有一个人对此的解释是这样的:
I suspect because of modules, which remove the need for the&
#import &Cocoa/Cocoa.h&.
As to where to put code that you would put in a prefix header, there is no code you should put in a prefix header. Put your imports into the files that need them. Put your definitions into their own files. Put your macros...nowhere. Stop writing macros unless there is no other way (such as when you need __FILE__). If you do need macros, put them in a header and include it. The prefix header was necessary for things that are huge and used by nearly everything in the whole system (like Foundation.h). If you have something that huge and ubiquitous, you should rethink your architecture. Prefix headers make code reuse hard, and introduce subtle build problems if any of the files listed can change. Avoid them until you have a serious build time problem that you can demonstrate is dramatically improved with a prefix header. In that case you can create one and pass it into clang, but it's incredibly rare that it's a good idea.
翻译过来 大致就是说 也许是因为组件单一模块的原因,所以 放弃了对 &Cocoa/Cocoa.h&
的import 你不应该在你的prefix代码中放入任何的代码,把他们放在你确实需要放入的文件中。把你的定义放到属于他们的文件中。 尽量不要使用宏定义(define)。。除非是非不得已的时候,(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你修改宏定义的时候 会导致大量的代码被重新编译 另外 宏定义存在许多潜在的bug 是因为在预编译的时候,他并不会被发觉到的)。如果你确实 在被逼无奈需要使用宏定义,把他们放在需要被include的头文件中,而不是放在prefix文件中。&prefix header文件是被那些大量使用 以及 几乎所有系统中的文件都需要被使用(例如 Foundation.h)。如果 你有一些东西大量存在,你应该重新思考你的架构问题你。因为 当你修改你prefix header的一些代码的时候,prefix header导致整个项目重新编译,这让你的代码重用变得困难,并且导致一些琐碎build的问题。所以 不要去使用prefix header 这样可以避免你大量的重新编译整个项目的时间&如果你仍然想要使用预编译,你可以创建一个新的并且传递给编译器的前段,这种方法很少见(我没用过),但确实是一个不错的方法
& & & @ 还可以参考: XcodePrecompilePrefixHeader浅析
& & & @欢迎转载!转载请注明:
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 硬盘坏道 的文章

 

随机推荐