iOS学习之PCH文件

1. PCH文件概述

  • PCH文件是一种预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里。这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码。
  • 在 Xcode6.0 之前的版本中,生成的 Single View Application 工程中自动存在PCH文件,Xcode6.0 之后就去掉了pch,为了一些琐碎的头文件引用,加快了编译速度!
  • 如图为 Xcode5 的工程截图:

2. PCH文件的创建(Xcode6.0 之前的版本)

 在工程中 command + N —> iOS中的 Other —> PCH File —> Next —> Create

 PCH文件是提前编译的,所以我们要告诉工程。具体操作如下图:

 当然如果想要填写的话,可以使用 $(SRCROOT) 来获取你工程文件的路径,完整可以写为:$(SRCROOT)/PCHTest/header.pch

3. PCH文件的作用

  • 存放一些公用的宏
  • 存放一些公用的头文件,一般开发中方工具类的头文件或者分类头文件等。
  • 管理日志输出

  自定义Log: #define ZFLog(…) NSLog(__VA__ARGS__)

  宏里面的可变参数:...

  函数中的可变参数:__VA__ARGS__

  日志输出非常耗性能,一般发布的时候不需要日志文件,只有调试的时候才需要。

  在发布上线的时候,我们有两种简单的方式来消除在工程中所有的日志输出

   ① 我们可以直接注释后面的 #define ZFLog(…) // NSLog(__VA__ARGS__),就可以消除在工程中所有的日志输出

   ② 还可以通过一个宏进行条件编译,在调试阶段,xcode会自动定义一个DEBUG宏,利用这个宏,就能进行条件编译。

      #ifdef DEBUG // 调试阶段
      #define ZFLog(…) NSLog(__VA__ARGS__)
      #else // 发布阶段
      #define ZFLog(…)
      #endif

4. PCH文件使用注意事项

 在 PCH 写的有关 OC 的东西,最好放在 #ifdef __OBJC__ ,Xcode 在每个 OC 文件中都定义了这个宏,也就意味着只有 OC 中的文件才拥有这些宏,避免项目中有 C 文件的时候,报错。

 比如在c文件中,使用 #import ,就会报错,因为c文件不能识别 #import , 只有 OC 文件才能识别。在 PCH 中的东西能被项目中的所有文件共享, C 文件共享 #import 就报错。

#ifdef __OBJC__ // OC文件的正确写法
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

#import "ZFTool.h" // 写在这里可能报错,所以不要写在这里
时间: 2024-10-17 14:17:07

iOS学习之PCH文件的相关文章

iOS学习之 plist文件的读写

在做iOS开发时,经经常使用到到plist文件,  那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ,因此通常被称为 plist文件.文件是xml格式的. Plist文件通经常使用于储存用户设置,也能够用于存储捆绑的信息 我们创建一个项目来学习plist文件的读写. 1.创建项目Plistdemo 项目创建之后能够找到项目相应的plist文件,打开例如以下图所看到的: 在编辑器中显示相似与表

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

.pch文件 也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问.是一个预编译文件. 首先说一下pch的作用: 1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用得上的头文件) 3.能自动打开或者关闭日志输出功能 其中可以用来存储共享信息:其他页面需要导入的头文件以及屏幕宽度.高度设置,需要的第三方库的头文件等: 创建pch文件->file->new file ->选择iOS下的other中的pch file 然后点击下一步即

iOS开发之pch文件

项目的Supporting files文件夹下面有个“工程名-Prefix.pch”文件,也是一个头文件 pch头文件的内容能被项目中的其他所有源文件共享和访问 一般在pch文件中定义一些全局的宏 在pch文件中添加下列预处理指令,然后在项目中使用Log(…)来输出日志信息,就可以在发布应用的时候,一次性将NSLog语句移除(在调试模式下,才有定义DEBUG) #ifdef DEBUG #define Log(...) NSLog(__VA_ARGS__) #else #define Log(.

ios开发之.pch文件的使用

案例:开源中国iOS客户端       当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以  -Prefix.pch结尾文件的文件,pch全称是“precompiled header”,也就是预编译头文件,该文件里存放的工程中一些不常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度.我们知道当我们修改一个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pch中某个文件修改了,那么pch整个文件里包含的的其他文件也会

iOS项目添加PCH文件

1.单击Info.plist右键单击->New File->Other->PCH File创建PCH文件 文件名设置成:项目名-Prefix  ->点击Create,创建成功. 2.设置PCH文件路径 选中项目->TARGETS->Build Settings->在搜索框中搜索"Prefix"->Apple LLVM 8.0-Language Precompile Prefix Header设置为YES; 右键PCH->Show I

iOS如何添加.pch文件

在开发过程中,我们经常会用许多的地址,或者是屏幕的大小等,那么我们就要频繁使用这些字符串,当然我们可以将这些字符串设置成为 宏  但是 宏 仅仅只能在本文件之中进行访问,那么我们如何设置可以全局访问的文件呢,我们可以添加一个.pch的文件 1,首先我们创建 和平时创建一个类的步骤是一样的 2.创建之后我们还要做一些调整 找到文件中得这个地方,然后我们双击图片中提示的地方,添加我们的pch文件的地址 寻找路径,我们可以右键点击.pch文件,然后在Finder中打开,点击上图中标示的pch文件,拖到

李洪强iOS开发之-PCH文件的配置

pch 可以用来存储共享信息,比如设备屏幕的宽度,高度.版本号等等 公用信息 Xcode 老版本会自动为我们创建pch文件,新版本开始不自动创建了,如果需要使用可以自己手动创建 创建完成后可以在里面定义常量 此处以屏幕尺寸为例 如下 ------------------------分割线------------------------分割线------------------------分割线------------------------分割线------------------------分

IOS Xcode7 新建PCH文件

第一步:新建文件找到iOS中的Othere点击PCH File 点击Next 第二步:修改文件名为当前工程名(一般与工程名同名),勾选Targets,点击create创建 第三步:如图选中红框中的路径复制 第四步:如图所示搜索prefix header ,并在该选项后面的空白处回车,或者双击 第五步:在弹框中输入$(SRCROOT),再把刚刚复制的路径粘贴过来 第六步:删除多余部分就大功告成了

(转)iOS学习之 plist文件的读写

在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件.属性列表文件的扩展名为.plist ,因此通常被称为 plist文件.文件是xml格式的. Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息 我们创建一个项目来学习plist文件的读写. 1.创建项目Plistdemo 项目创建之后可以找到项目对应的plist文件,打开如下图所示: 在编辑器中显示类似与表格的形式,可以在p