最近要開發先項目,重新整理一下pch文件的排版以作記錄,我並不推薦大量的使用宏,大家有更好的使用方法可以交流交流。
我們在pch裏經常會定義一些宏大體上有三點好處:
- 可以更高層級上控制程序源碼本身和編譯流程
- 提高代碼重用性,節省工作量的疊加
- 提高代碼可讀性
大家知道宏定義是編輯器的預處理,而正是這個原因賦予了宏很強大的功能和靈活度。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