pch文件的作用和配置
pch文件说白了就是一个头文件,只不过这个头文件的类在全局都可以使用,所以说非常的方便,并不用在每个类里面都写一些重复类的头文件,只要将用到的类的头文件放到pch文件里面就行了,当然了还有就是宏定义,这肯定也是必须的。
那么这么好用的怎么使用的。
1.
command + n 新建一个pch文件,在Xcode8.2里面要往下选(因为pch文件在下面上面是没有pch这个文件类型的),
如图:(上面是没有pch文件的,需要往下拉,拉到最下面你就会看到了。)
接着next,然后就是输入pch文件的名字了然后继续就好了一半。刚建好的文件里面会有一些注释,是可以删掉的。如图:
所有的第三方类和自己的类的头文件就可以这个里面,当然了肯定少不了宏定义。配置好(pch文件还需要配置,创建好只是第一步,不配置的话是用不了的,配置过后就可以用了)就可以在整个项目里调用这里的类。
2.
就是配置pch文件了。
第一步:在工程的TARGETS里边Building Setting中搜索Precompile Prefix Heade,然后把Precompile Prefix Header右边的NO改为Yes:
如图:
第二步:再继续搜索Prefix Heade,找到Prefix Heade,就在倒数第三四行。
如图:
然后找到pch文件,show in finder,然后就是编辑Prefix Heade,在右边双击,紧接着就是将刚才的pch文件用鼠标拉进来就OK了。
如图:
最后一个小插曲:
刚才的那种方法(就是把文件拉进来的这种方法)只适合于个人开发,不适合合作开发 ,因为存储的目录有电脑名字和用户的名字,换个电脑就会报错找不到这个文件,那怎么办呢???
其实很简单,因为这个事绝对路径,就是死的,解决的办法就是把路径换成相对路径,就是相对于这个项目的位置。
$(SRCROOT)就代表项目的位置就是放置项目的那个文件夹,就参照他就可以了。
如图:
$(SRCROOT) 就是左边的pch文件夹,那么这个项目里的Prefix Heade就应该为$(SRCROOT)/PrefixHeader.pch,command + b 你就会发现和第一种方法的路径是一样的。
这样的话合作开发就没问题啦。好啦就这样啦。
pch文件的作用和配置的更多相关文章
- 【学习总结】Info.plist和pch文件的作用
Info.plist 建立一个工程后,会在Supporting files文件夹下看到一个“Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 项目中其他Plis ...
- pch文件的创建与配置
1.ios中pch文件的创建与配置 1.1 ios中pch文件的创建与配置 1.2 全局宏定义标志的配置 2.宏定义 这里放的主要是开发中常用的宏定义. /** 动态的字符串格式化宏 */ #defi ...
- ios中pch文件的创建与配置
PCH文件(Precompile Prefix Header File),也就是预编译头文件,其作用就是,方便你一次性导入在多个文件中同时用到的头文件.宏或者URL地址等(全局使用),可以有效的帮你 ...
- Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法
Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 注:在旧 ...
- 工程中.pch文件的作用 及使用方法
#ifdef __OBJC__ #define ABC 10#import "UIImage+Image.h"// 配置pch: buildSetting -> prefix ...
- Linux基线合规检查中各文件的作用及配置脚本
1./etc/motd 操作:echo " Authorized users only. All activity may be monitored and reported " ...
- Info.plist和pch文件的作用
- Xcode 中 pch 文件配置 - iOS
一.简介 首先 pch 文件(即:Prefix Header)是一种预编译文件,在 Xcode 6 之前创建新的工程则会自动将该文件一起创建出来,但在 Xcode 6 之后苹果官方则默认将自动创建的方 ...
- iOS开发 - OC - PCH文件使用
一. PCH文件的作用 Xcode中,PCH文件在程序编译的时候会自动包含进去.也就是说PCH中的内容是全局的,可以使用在程序的任何地方,通过这个特性,我们可以概括到PCH的作用有以下几个方面: (1 ...
随机推荐
- SQL点滴23—T-SQL中的除法
原文:SQL点滴23-T-SQL中的除法 在T-SQL中没有除法运算,但是在T-SQL中可以实现类似除法的操作Divide.一般除法操作的结果一个列来自于被除关系表,剩下的来自除关系表.这里举一个例子 ...
- SQL点滴15—在SQL Server 2008中调用C#程序
原文:SQL点滴15-在SQL Server 2008中调用C#程序 T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可 ...
- jQuery.form Ajax无刷新上传错误 (jQuery.handleError is not a function) 解决方案
今天,随着ajaxfileupload时间firebug财报显示,"jQuery.handleError is not a function"错误.因为一旦使用jQuery.for ...
- [译]Java垃圾回收是如何工作的
说明:这篇文章来翻译来自于Javapapers 的How Java Garbage Collection Works 这部分教程是为了理解Java垃圾回收的基础以及它是如何工作的.这是垃圾回收系列教程 ...
- 在VirtualBox下安装CentOS教程(截图版)
http://blog.csdn.net/kobe_lzq/article/details/7894718 使用的软件: VirtualBox 4.1.2 CentOS 5.6 x86_64 刻录的 ...
- 【SSH三个框架】Hibernate第八部分基础:经营-many关系
在Hibernate在-many关系.它通常不使用.由于当数据库查询复杂度太高时. 我们在这里做的是学生和教师,学生可以有多个老师,教师可以有多个学生. watermark/2/text/aHR0cD ...
- windows server 2003断开远程之后自动注销用户
windows server 2003断开远程之后自动注销用户 2011-07-30 09:42:52 我来说两句 收藏 我要投稿 最近一台服务器老是断开远程之后过没多久就自动 ...
- Best jQuery Plugins of the Month – May 2014
1. jQuery referenceSection jQuery referenceSection by Scott Mascio ensures to help users in adding a ...
- 修改servu数据库密码 servu加密方式
项目要求可以有用户自行修改servu密码.servu可以通过odbc访问access\mysql\sqlserver数据库.我们直接通过创建web来修改就可以了. 不过问题来了,密码是加密的...通过 ...
- LigerUI一个前台框架增、删、改asp.net代码
LigerUI一个前台框架增.删.改asp.net代码的实现 先上代码:前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...