PCH

引入常量文件

  • 创建VJConst.h VJConst.m
//不用实现类  注意 只有在引入UIKit/UIKit.h后才会提示UIKIT_EXTERN
//VJConst.h
UIKIT_EXTERN const NSString* name;
//VJConst.m
const NSString* name = @"vijay";
//最后在pch文件中引入VJConst.h即可
//当在pch文件中定义常量时会被所有文件导入 就会出现常量重复定义 所以需要使用UIKIT_EXTERN 就不会全部都导入。

自定义宏

//调试阶段系统会自动定义DEBUG宏
#ifdef DEBUG
#define VJLog(...) NSLog(__VA_ARGS__)
//发布阶段
#else
#define VJLog(...)
#endif

pch文件相当于在所有项目文件里导入pch文件中定义的东西 但是一些例如swift c语言混编时使用pch导入了oc的语法就会报错 所以要再pch文件中做判断

//这样在c或者swift语法中就不会导入pch的宏 __OBJC__指令只有在objectivec文件中才会定义
#ifdef __OBJC__
...
#endif

你可能感兴趣的:(PCH)