pch文件的使用

最近要开发先项目,重新整理一下pch文件的排版以作记录,我并不推荐大量的使用宏,大家有更好的使用方法可以交流交流。

我们在pch里经常会定义一些宏大体上有三点好处:

  1. 可以更高层级上控制程序源码本身和编译流程
  2. 提高代码重用性,节省工作量的叠加
  3. 提高代码可读性

大家知道宏定义是编辑器的预处理,而正是这个原因赋予了宏很强大的功能和灵活度。pch文件是在预编译的时候执行的,这样pch和宏配合使用会大大提高我们开发效率。

直接上代码:

//------------引用文件-------------begin
//------------引用文件-------------end

//------------环境配置-------------begin
//这里添加控制代码配置和编译流程的宏定义:域名,第三方秘钥等

//我们在测试环境根据开发需要会频繁的修改接口域名(程序员都有的通病---懒)
//0正式接口域名 1预发布接口域名 2内网接口域名
#define URL_PREFIX 0

#if !DEBUG
//正式环境 (相对的减少正式环境上的预编译判断)

//关闭log
#define NSLog(format, ...)
#define DLog(...);

#else 
//测试环境

#if URL_PREFIX == 2
//内网

#elif URL_PREFIX == 1
//预发布

#else 
//正式

#endif

//开启log
#define DLog(format, ...) NSLog((@"[文件名:%s]" "[函数名:%s]" "[行号:%d]" format), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);

#endif
//-------------环境配置--------------end

//-------------------获取设备大小-------------------------
//这里存放和屏幕尺寸相关的宏
//NavBar高度
#define NavigationBar_HEIGHT 44
//获取屏幕 宽度、高度
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)

//-------------------获取设备大小-------------------------

//-------------------其他---------------------
#define Left_spacing 16   //左边间距

#define RefreshNum 20  //默认每次刷新列表的条数

//默认图片
#define Default_Icon [UIImage imageNamed:@"default_icon"]       //头像
#define Default_Certification [UIImage imageNamed:@"icon-V"]  //认证
#define Default_Right_Big [UIImage imageNamed:@"icon-btn-qj-big"]  //向右的箭头 大
#define Default_Right_Small [UIImage imageNamed:@"icon-btn-qj-little"]  //向右的箭头 小

//请求code
#define REQUEST_SUCCESS  0      //请求成功
#define REQUEST_ABNORMAL  100   //请求异常
#define REQUEST_FAILURE -2      //账号失效
#define REQUEST_NO_LOGIN -1      //账号为登陆

还有颜色,字体,常用的单例等这些都可以单独创建一个.h文件更方便管理和增加可读性


有很多同学用宏来定义api我认为这样不合适,有两点原因:1.对于一个app来说api往往会很多,使用宏定义会增加预编译的压力和时间,苹果一直都不推荐这样做 2.api是和网络层紧密相关的,利用static修饰放在对应模块的service里会更好


创建PCH文件的方法和配置以前写过一个http://blog.csdn.net/pianzhidenanren/article/details/48546635
发布了42 篇原创文章 · 获赞 9 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章