PCH的文件的用途:
     在实际的项目开发中,如果很多地方都在使用某个类的头文件,很多地方都在使用同一个”宏”的时候;很多地方用到了NSLog()函数, 在app发布的时候,想清除掉时,此时就需要一个pch文件了;
PCH文件的好处:
     其他代码文件无需显示导入该PCH文件,默认就都可以访问(其他文件无需手动#import该pch文件就能使用);
PCH文件的坏处:编译时比较耗时(这是显然的);
PCH的创建:
xcode6.1中,默认没有创建pch文件。
Command +
N 新建 PCh File;
程序开发阶段分为:
   1.调试阶段,写代码、调错误,需要使用NSLog()。同时在调试阶段系统会自定义一个叫做DEBUG的宏。
   2.发布阶段,写好的代码生成ipa等压缩文件,上传到AppStore,安装到用户设备上,不需要NSLog()。同时系同会自动删除叫做DEBUG的宏。
   3.综上所述, 可以自定义一个NSLog():
         #ifdef DEBUG
         #define YSCLog(...) NSLog(__VA_ARGS__)
         #else
         #define YSCLog(...)
         #endif
    4.所有与OC相关的宏定义都要写在:
         #ifdef __OBJC__
         #endif
  里面,因为写在这个if中的所有内容只有OC代码才可以使用,当在项目中新建了一个.c文件是不可以使用的(不使用就不会报错),否则如果写在了外面,新建一个.c的程序也能使用,就报错了。比如C语言中没有#import,只有#include
<xx.h>

代码:
#ifndef PrefixHeader_pch
#define PrefixHeader_pch #ifdef __OBJC__
// 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.
#ifdef DEBUG
#define YSCLOG(...) NSLog(__VA_ARGS__)
#else
#define YSCLOG(...)
#endif #endif #endif /* PrefixHeader_pch */
PCH文件的导入:
导入方式一:
*选中项目-> Build Setting -> All ->搜索"head"->修改Prefix
Header的内容为:
   **"$(SRCROOT)/$(PRODUCT_NAME)/PrefixHeader.pch"(如果有问题,换下面的方式,可能会与中文有关)
   **或者 "$(SRCROOT)/对应的文件夹名/PrefixHeader.pch"
如图所示:

导入方式二:
     方式一中填写一个相对路径$(SRCROOT)/$(PRODUCT_NAME),这哪记得住?也懒得记!
   怎么办:
     1.先随便写一个路径,编译;
     2.将pch文件拖到终端,终端会直接输出该pch的路径;
     3.根据编译提示错误,缺什么路径,补全即可!
  
eg:
1.随便写一个路径“1”,编译错误提示:
2.补全路径即可:

iOS-PCH File的快速导入方法和使用的更多相关文章

  1. 关于PCB 3D 模型的快速导入方法

    altium designer中创建的3D library 只能查看3D效果,并没有其他功能,经测试在原理图编辑界面通过给元件添加 PCB 3D 并不能真正添加3D模型,这样添加根本没有效果(显示不出 ...

  2. c# 采用datatable 快速导入数据至MSSQL的方法分享

    转自:http://www.maomao365.com/?p=5613 摘要:下文讲述使用c#代码快速将dataTable导入至mssql数据库的方法 实现思路:需要将datatable调整为同目标表 ...

  3. CocoaPods 的简单快速安装方法

    CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...

  4. [BS-07] 创建和使用PCH File

    创建和使用PCH File 1.创建PCH File File - iOS Other - PCH File - PrefixHeader.pch 写法如下: #ifndef PrefixHeader ...

  5. iOS微信实现第三方登录的方法

    这篇文章主要介绍了iOS微信第三方登录实现的全过程,一步一步告诉大家iOS微信实现第三方登录的方法,感兴趣的小伙伴们可以参考一下   一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2 ...

  6. 图解JanusGraph系列 - 关于JanusGraph图数据批量快速导入的方案和想法(bulk load data)

    大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 整理所有图相关文章,请移步(超链):图数据库系列-文章总目录 源码分析相关可查看github(码文不易,求个sta ...

  7. 1118ALTER TABLE tabname DISCARD TABLESPACE快速导入数据利用表空间

    -- 快速导入数据如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:相当快速 1. 发出这个ALTER TABLE语句: 2. ALTER TABLE tb ...

  8. mediawiki数据库的下载地址及导入方法

    mediawiki导入数据库 数据库下载:http://zh.wikipedia.org/wiki/Wikipedia:%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8B%E8% ...

  9. 通过BulkLoad的方式快速导入海量数据

    摘要 加载数据到HBase的方式有多种,通过HBase API导入或命令行导入或使用第三方(如sqoop)来导入或使用MR来批量导入(耗费磁盘I/O,容易在导入的过程使节点宕机),但是这些方式不是慢就 ...

随机推荐

  1. 2、接口测试(Composer)

    前言 Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的. 对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了. ...

  2. 漫谈Huawei LiteOS五大内核模块

    [摘要]Huawei LiteOS是华为面向IoT领域,构建的“统一物联网操作系统和中间件软件平台”,以轻量级(内核小于10k).低功耗(1节5号电池最多可以工作5年),快速启动,互联互通,安全等关键 ...

  3. 案例 (一)如何把python项目部署到linux服务器上

      一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...

  4. spark机器学习从0到1主成分分析-PCA (八)

      PCA 一.概念 主成分分析(Principal Component Analysis)是指将多个变量通过线性变换以选出较少数重要变量的一种多元统计分析方法,又称为主成分分析.在实际应用场合中,为 ...

  5. 【比较】遗传算法GA和遗传编程GP有什么不同?

    遗传算法GA 本质上有一个固定的长度,这意味着所产生的功能有限的复杂性 通常会产生无效状态,因此需要以非破坏性方式处理这些状态 通常依赖于运算符优先级(例如,在我们的例子中,乘法发生在减法之前),这可 ...

  6. wxss--外联样式与内联样式

    外联样式 有样式表a.wxss和index.wxss如下: /**a.wxss**/ .container1{ border: 1px solid #000; } /**index.wxss**/ . ...

  7. ios审核 "prefs:root="被拒

    https://blog.csdn.net/xnickname666/article/details/83068516 使用TZImagePicker  https://github.com/banc ...

  8. CentOS7搭建Java环境(JDK、MySQL和Tomcat)

    目录 安装jdk 准备 jdk环境配置流程 安装MySQL 5.6 准备 MySQL安装流程 安装Tomcat 7 准备 Tomcat安装流程 参考链接 安装jdk 准备 jdk的tar.gz包(本文 ...

  9. js常用 方法 封装

    // 监听滚动,用于列表页向下加载--------------------------------- function loadmore(callback) { $(window).scroll(fu ...

  10. LTE常用标识和参数

    1 基本标识 1 .1 IMSI 1.2 IMEI 1.3 MSISDN 1.4 TMSI 1.5 MSRN 2 区域类标识 2.1 GCI 其中 LA是GSM(2g)中的位置区,对应4G中的跟踪区T ...