Xcode 6之后创建PCH文件

在开发过程中,我们经常会在很多地方调用相同的内容。比如说我们设置控件位置时获取屏幕的宽高来适配,又比如说我们自己定义的一个转换颜色的消防法,还有各种头文件。这些常常使用到的内容,如果要在每一次要使用的时候都重复调用一次头文件或者声明一个方法,无疑是很低效的,而且也会很烦= =,而PCH文件就是解决这个问题的。

对于我们在大量文件中都要使用的方法或者头文件,我们可以统一写在PCH文件中,这样就可以一次声明,随时调用。可以极大地提高编程效率和幸福感。

在Xcode 6之前,创建工程的时候会自动生成一个PCH文件,我们直接在里面写内容就可以了。但是在Xcode 6以及之后的版本中,苹果取消了这一自动生成的过程。StackOverFlow上讨论出来的原因是使用PCH文件预编译的话,在Build的时候由于要导入所有PCH文件的内容,会大大增加Build的时间,因此苹果希望还是将这些内容在各个文件手动导入。但是我还是觉得太麻烦了还是牺牲一下Build时间吧哈哈。


创建PCH文件

创建PCH文件很简单,command+N,选择iOS下的Other-->PCH File,创建PCH文件,命名就命名为"工程名-Prefix"后缀“.pch”会自动生成的。


Xcode 6之后创建PCH文件_第1张图片


现在就可以在这个pch文件里添加内容了,比如添加获取屏幕宽高的方法来便于全局调用:

//设备的宽高
#define SCREENWIDTH       [UIScreen mainScreen].bounds.size.width
#define SCREENHEIGHT      [UIScreen mainScreen].bounds.size.height

但是现在在其他文件里还是不能调用的,我们还需要作出一些设置:

点击左边列表的工程名-->TARGETS-->Build Settings-->Apple LLVM 6.1 - Language,在Prefix Header这一栏输入:$(SRCROOT)/项目名称/pch文件名”(例如:$(SRCROOT)/AddPCHDemo/AddPCHDemo-Prefix.pch):


Xcode 6之后创建PCH文件_第2张图片


这里标出了两行,下面的Prefix Header用于填写刚才的目录名,上面的Precompile Prefix Header选择Yes,表示预编译后缓存pch文件,这样可以提高编译速度。


现在,在ViewController里就可以直接调用刚才写的获取宽高的方法啦。


可以在GitHub获取我的demo工程:https://github.com/Cloudox/AddPCHDemo

你可能感兴趣的:(ios,xcode,pch文件)