iOS .pch文件的使用
时间:2022-04-26
本文章向大家介绍iOS .pch文件的使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
什么是.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.pch5.这样的话就大功告成了: 人后 commend+b 编译下本项目 然后就可以使用了如我:rgb这个宏定义就可以使用了
--------------------修改----------拖进。pch文件之后 路径的问题注意下: ${SRCROOT}/xmChongGou/结构准备/xm_prefix.pch 写法就是
${SRCROOT}/ 根目录
xmChongGou/结构准备/xm_prefix.pch 在根目录相处在的位置
这样的话 比较好 如若为水 为何不能嫌弃惊涛骇浪
- 缓存策略优化
- Quartz框架应用(1)
- 6个编写优质干净代码的技巧
- 【Jfinal源码】第一章 com.jfinal.core.JFinalFilter(1)
- 【ehcache】 timeToLiveSeconds 和 timeToLiveSeconds 的区别
- 升级 CentOS7 、Redis 3.2.x 的问题
- AngularJS 中使用Swiper制作滚动图不能滑动
- JAVA服务端配置允许跨域请求
- CentOS mysql配置主从复制
- Quartz依赖数据库表
- Spring Security Oauth2.0 实现短信验证码登录
- 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud
- 基于Redis实现分布式应用限流
- Jasypt : 整合spring boot加密应用配置文件敏感信息
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Qt开源作品34-qwt无需插件源码
- Qt开源作品35-秘钥生成器
- Qt开源作品36-程序守护进程
- Qt开源作品37-网络中转服务器
- Qt编写安防视频监控系统27-GPU显示
- Qt编写安防视频监控系统28-摄像机点位
- Qt编写安防视频监控系统29-掉线重连
- Qt编写安防视频监控系统30-GPS运动轨迹
- Qt编写安防视频监控系统31-onvif设备搜索
- Qt编写安防视频监控系统32-onvif信息获取
- Qt编写安防视频监控系统33-onvif云台控制
- Qt编写安防视频监控系统34-onvif事件订阅
- Qt编写安防视频监控系统35-onvif抓拍图片
- Qt音视频开发1-vlc解码播放
- 【TBase开源版测评】分布式数据自动shard分片