03-pch文件
2016-11-20 本文已影响20人
小胖子2号
pch文件
一个宏或头文件等,很多文件都需要用到,怎么解决,搞个公用的头文件,同时导入这个头文件
pch的作用
- 日志输出——发布和调试下NSlog的输出
为什么要管理日志输出?
因为日志输出非常耗性能,一般发布的时候不需要日志输出,只有调试时才需要
- 判断——
#ifdef __OBJC__
与#endif
之间,只会拷贝到OC文件中,不会拷贝到其他源代码文件中
如果希望某些内容能拷贝到任何源代码文件(OC\C\C++等), 那么就不要写在
#ifdef __OBJC__
和#endif
之间
- 颜色——随机色等
- 当前版本判断
- 存放公用的宏,头文件
pch文件的创建
第一步:
AC6D067B-FBB7-436E-97B0-7A0CD87866ED.png第二步:找到位置,需要在选种那行下面填写pch的路径
文件配置: Build Settings
----all
和combined
-----搜索prefix Header
第三步:找到路径,并填写路径。
223B2473-CF2D-4A0C-A5CD-2406B09306D3.png 96D3E9DB-6BFE-4024-8EE6-D11941018AF8.png如果pch文件加载不进来,有可能是路径出现了问题,(pch文件不能直接放到工程文件
下)
代码
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
/*** 如果希望某些内容能拷贝到任何源代码文件(OC\C\C++等), 那么就不要写在#ifdef __OBJC__和#endif之间 ***/
/***** 在#ifdef __OBJC__和#endif之间的内容, 只会拷贝到OC源代码文件中, 不会拷贝到其他语言的源代码文件中 *****/
#ifdef __OBJC__
#import "UIView+ZSExtension.h"
/*** 当前系统版本判断 ***/
#define iOS(version) ([UIDevice currentDevice].systemVersion.doubleValue >= (version))
/*** 日志 ***/
#ifdef DEBUG
#define ZSLog(...) NSLog(__VA_ARGS__)
#else
#define ZSLog(...)
#endif
/*** 颜色 ***/
#define ZSColorA(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)/255.0]
#define ZSColor(r, g, b) ZSColorA((r), (g), (b), 255)
#define ZSRandomColor ZSColor(arc4random_uniform(255), arc4random_uniform(255), arc4random_uniform(255))
#define ZSGrayColor(v) ZSColor((v), (v), (v))
#define ZSCommonBgColor ZSrayColor(206)
#endif
/***** 在#ifdef __OBJC__和#endif之间的内容, 只会拷贝到OC源代码文件中, 不会拷贝到其他语言的源代码文件中 *****/
#endif