什么是.pch文件
预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里。这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码。 我自己的理解就是 这个.pch文件的作用就是 在这里定义一些东西之后可以在整个工程内的任何一个文件中使用在.pch
文件中定义的东西 并且不用导入任何的头文件 我的做法:
1.首先呢我会先添加一个.h文件 用来写宏定义
如图:

创建成功之后  可以在这个文件里边添加 一些自己需要的宏定义  
比如:我的
//
// Header.h
// My9xiuShow
//
// Created by TaoLi on 16/12/15.
// Copyright © 2016年 LSS. All rights reserved.
// #ifndef Header_h
#define Header_h //字体颜色
#define RGBAColor(r,g,b,a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:a] #endif /* Header_h */

我只在这里边添加了一个宏

2.创建.pch文件 新建文件-选择pch文件

这样就可以创建一个.pch文件   SPrefixHeader

3.将Header.h 跟.pch文件产生联系

打开.pch文件    添加 import “Header.h”
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Header.h"
代码如下:
#ifndef SPrefixHeader_pch
#define SPrefixHeader_pch // Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. #import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Header.h" #endif /* SPrefixHeader_pch */

4.将.pch文件跟项目关联起来

buildSetting- 搜索prefix header  - 找到Prefix Header

如图:

1 将Precompile prefix header  设置为yes  这样的目的是编译之后这个文件会缓存   这样可以加快再次编译的速度
2 Prefix Header 后边双击 然后将新建的那个.pch文件拖进去(一次不成功就多试几次 然后就行了)拖进去之后将这个目录做修改只剩下自己的 项目名/.pch文件名 就像我的截图上那样 My9xiushow/SPreficHeader.pch 5.这样的话就大功告成了: 人后 commend+b 编译下本项目 然后就可以使用了 如我:rgb这个宏定义就可以使用了

--------------------修改----------
拖进。pch文件之后 路径的问题注意下: ${SRCROOT}/xmChongGou/结构准备/xm_prefix.pch 写法就是
${SRCROOT}/     根目录
xmChongGou/结构准备/xm_prefix.pch   在根目录相处在的位置
这样的话  比较好 

如若为水  为何不能嫌弃惊涛骇浪

iOS .pch文件的使用的更多相关文章

  1. iOS PCH文件

    在Xcode6之前,创建一个新的工程,Xcode会再Support Files文件夹下自动创建一个"工程名 - prefix.pch"文件,也是一个头文件,pch文件的内容能被项目 ...

  2. iOS pch文件的创建

    3.iso pch头文件的创建  输入文件名的时候记得打钩 3.1.在Build Settings 里搜索pref就能找到preflx, 点击设置相对路径 $(SRCROOT) +路径:成功了就会显示 ...

  3. 【原】iOS学习之PCH文件

    1. PCH文件概述 PCH文件是一种预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是 ...

  4. iOS 如何给Xcode7项目添加“.pch”文件

    1.首先打开你的项目(演示使用一个空的项目),按照以下步骤即可 找到“Supporting Files”文件夹,右键即可看到下图,选择“New File...” 2.选择"iOS" ...

  5. iOS开发- Xcode 7添加pch文件

    1.打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > PCH File 然后点 ...

  6. ios开发 <AppName>-Prefix.pch文件的用法详解

    我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch.对于这个 ...

  7. iOS开发中.pch 文件的使用及其相关工程设置

    .pch文件 也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问.是一个预编译文件. 首先说一下pch的作用: 1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部 ...

  8. Info.plist和pch文件的作用,UIApplication,iOS程序的启动过程,AppDelegate 方法解释,UIWindow,生命周期方法

    Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 注:在旧 ...

  9. iOS开发之info.pist文件和.pch文件

    iOS开发之info.pist文件和.pch文件 如果你是iOS开发初学者,不用过多的关注项目中各个文件的作用.因为iOS开发的学习路线起点不在这里,这些文件只会给你学习带来困扰. 打开一个项目,我们 ...

随机推荐

  1. shell 加法

    shell 加法 i=$i+1 是在i的变量值后加上字符串'+1' 总结:其他语言中的$i++操作在shell中表示如下:#!/bin/bash n=1;echo -n "$n " ...

  2. spoj 1812 LCS2(SAM+DP)

    [题目链接] http://www.spoj.com/problems/LCS2/en/ [题意] 求若干个串的最长公共子串. [思路] SAM+DP 先拿个串建个SAM,然后用后面的串匹配,每次将所 ...

  3. PrintDbGrideh 打印数据

    PrintDbGrideh1.BeforeGridText.Clear;//添加 PrintDbGrideh1.BeforeGridText.Add( '订单 '); PrintDBGridEh1.P ...

  4. android实现图片平铺效果&WebView多点触控实现缩放

    1.图片平铺效果实现非常简单,只要在xml中添加一个 android:tileMode的属性就可以了.首先在drawable文件夹中添加自己的my.xml文件.代码: Java代码 <?xml ...

  5. Dynamics CRM 2011 2013-(An error occurred while opening mailbox xxx@xx.com Microsoft.Crm.Tools.Email.Providers.)

    An error occurred while opening mailbox  Microsoft.Crm.Tools.Email.Providers. Whenever I check how C ...

  6. Web Services and C# Enums -摘自网络

    Web Service Transparency .NET support for web services is excellent in creating illusion of transpar ...

  7. Notepad++中的颜色属性大全

    Indent guideline style  缩进参考线的颜色 Brace highlight style 鼠标指针在框架左右时框架的颜色(如css中{}   js中的()) Bad brace c ...

  8. MSSQLSERVER数据库- 杂记

    查看语句执行时间: SET STATISTICS IO ONSET STATISTICS TIME ON SELECT * FROM dbo.NewsInfo Update的表关联例子: UPDATE ...

  9. DevExpress MessageBox 弹出框 底层类

    效果图: 前台调用: //图一的前台调用 MessageBox.Show("测试", "标题", MessageBoxButtons.OK); //图二的前台调 ...

  10. Eclipse导入Maven项目时class not found

    用maven开发javaweb项目可以自动导包,可以在配置文件pom.xml中发现依赖包,今天在eclipse中导入maven项目,开启tomcat服务器时报错 class not found, 看到 ...