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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章