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 ...
随机推荐
- [译]Java 设计模式之备忘录
(文章翻译来自Java Design Pattern: Memento) memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态. 在将来时空旅行将成为显示 ...
- Bootstrap Paginator分页插件
Bootstrap Paginator分页插件使用示例 最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页 ...
- SQL Server 创建表分区
原文:SQL Server 创建表分区 先准备测试表 CREATE TABLE [dbo].[Employee] ( EmployeeNo ,) PRIMARY KEY, EmployeeName ) ...
- Java凝视Override、Deprecated、SuppressWarnings详细解释
一.什么是视线 说起目光,你必须先提什么是元数据(metadata). 所谓元数据是数据的数据.那.元数据是描述数据的叙述. 像在表中的数据字段,叙述了这个字段下的数据的含义.而J2SE5.0 ...
- Android Fragement学习笔记(三)----PreferenceFragment使用
我相信每个人都Perference大家都比较熟悉,这就是我们常说的偏好,首选项设置,一些数据可以保存.例如,一些元件的,我们使用上次.希望下次启动后仍然生效,烦.一般这个时候我们便会使用perfere ...
- 在Android中自动实现横竖屏切换的问题
http://developer.android.com/training/basics/supporting-devices/screens.html参照Google推荐的做法 在你项目的res 文 ...
- QTP脚本不能录制怎么办?
QTP是基于VBS脚本语言的,大部分VBS脚本都能在QTP上运行,只是在一些细节上略有不同,比如说VBS上停止用sleep,QTP上用wait.QTP的强大之处在于对程序窗口的操作,有很多针对窗体的属 ...
- [转]当图片源大小大于ImageView大小时的处理方式(缩放)
转一篇当图片源大小大于ImageView大小定死时的处理方法,但不适用于图片大小小于ImageView时的情况,因为inSampleSize不能<1, 谁有特别好的放大的解决方案,除了设置Ima ...
- Javascript模块化编程之Why
说到模块化编程,大家比较容易想到Java, C++等语言,感觉这事和Javascript沾不上一丁点边.虽说Javascript看上去好像同Java有莫大的关系,但那也只是一厢情愿,不过是挂羊头卖狗肉 ...
- Binder机制,从Java到C (1. IPC in Application Remote Service)
转载请标注:张小燕:http://www.cnblogs.com/zhangxinyan 1. Application 中的 service 我们知道Android中Service有三种类型:Loca ...