03-pch文件

pch文件

  一个宏或头文件等,很多文件都需要用到,怎么解决,搞个公用的头文件,同时导入这个头文件

pch的作用

  • 日志输出——发布和调试下NSlog的输出

为什么要管理日志输出?
因为日志输出非常耗性能,一般发布的时候不需要日志输出,只有调试时才需要

  • 判断——#ifdef __OBJC__#endif之间,只会拷贝到OC文件中,不会拷贝到其他源代码文件中

如果希望某些内容能拷贝到任何源代码文件(OC\C\C++等), 那么就不要写在#ifdef __OBJC__#endif之间

  • 颜色——随机色等
  • 当前版本判断
  • 存放公用的宏,头文件

pch文件的创建

第一步:

03-pch文件_第1张图片
AC6D067B-FBB7-436E-97B0-7A0CD87866ED.png

第二步:找到位置,需要在选种那行下面填写pch的路径

文件配置: Build Settings----allcombined-----搜索prefix Header

03-pch文件_第2张图片
5516CABA-0920-4B79-92DD-F903E3B8E419.png

第三步:找到路径,并填写路径。

03-pch文件_第3张图片
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

你可能感兴趣的:(03-pch文件)