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 ...
随机推荐
- centos6的安装
centos6的安装,一步一图,有图有真相 打开虚拟机VMware,点击文件,选择[新建虚拟机],如图所示
- Erlang运行中的错误
Erlang运行时发生错误时,会返回一些错误信息,理解这些信息,对于学好.用好Erlang来说是必要. Erlang中的运行错误包括:badarg, badarith, badmatch, funct ...
- [译]Java 设计模式之工厂
(文章翻译自Java Design Pattern: Factory) 1.Java工厂模式的来历 工厂设计模式用于创建基于不同参数的对象.下面的例子就是在一个工厂里创建一个人.如果我们向工厂要一个b ...
- Extjs中GridPanel的各个属性与方法
1.Ext.grid.GridPanel 主要配置项: store:表格的数据集 columns:表格列模式的配置数组,可自动创建ColumnModel列模式 autoExpandColumn:自动充 ...
- Oracle笔试题库 附参考答案
1. 下列不属于ORACLE的逻辑结构的是(C) 区 段 数据文件 表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A) A . SYSDBA B. SYSTEM C. SCOTT ...
- java中数据库通用层
/** * 数据库通用类 * */ public class ConnDB { /** * 获取数据库连接对象 * @return 数据库连接对象 * */ public static Connect ...
- location的使用
<script language="javascript" type="text/javascript"> function setUrl(){ ...
- C#函数式程序设计之泛型(下)
C#函数式程序设计之泛型(下) 每当使用泛型类型时,可以通过where字句对泛型添加约束: + 这个例子直观地声明了一个约束:类型T必须与ListItem<string>相匹配.泛型类 ...
- oracle导入数据
oracle导入数据时候注意点: 1.imp system/admin@oracle9i file=E:\shujukuwenjian\2014-04-01.dmp fromuser=ptb_supe ...
- Vijos1055 奶牛浴场(极大化思想求最大子矩形)
思路详见 王知昆<浅谈用极大化思想解决最大子矩形问题> 写得很详细(感谢~....) 因为不太会用递推,所以用了第一种方法,时间复杂度是O(n^2),n为枚举的点数,对付这题绰绰有余 思路 ...