1. PCH簡介
- Xcode6之前創(chuàng)建的工程都自帶PCH文件,Xcode6之后創(chuàng)建的工程默認不帶PCH文件,蘋果可能出于節(jié)省編譯時間的考慮,不推薦開發(fā)者使用PCH。
- 在PCH文件中定義的宏,導(dǎo)入的頭文件在整個工程中都會引用。
2. PCH文件的作用
- 存放一些公用的宏
- 存放公用的頭文件
- 自定義Log輸出日志
3. Xcode中如何自己創(chuàng)PCH文件
1.command + N 創(chuàng)建

Snip20160629_1.png
2.PCH文件名建議與工程同名

Snip20160629_2.png
3.PCH文件相關(guān)設(shè)置

Snip20160629_3.png
- 注意:圖中路徑為相對路徑,蘋果會自動找到工程路徑,上圖中的例子可以寫成另一種形式($(SRCROOT/pchTest/pchTest.h)),效果一樣。$(SRCROOT)表示工程路徑。
4. PCH文件應(yīng)用
// 常用宏定義
#define kWidth [UIScreen mainScreen].bounds.size.width
// 自定義log輸出,debug時,正常NSLog輸出,release狀態(tài),為空,不打印
#ifdef DEBUG // 調(diào)試時
#define XJLog(...) NSLog(__VA_ARGS__)
#else // 發(fā)布時
#define XJLog(...)
#endif
// 公共頭文件引用
#ifdef __OBJC__
#import "ViewController.h"
#endif
- 說明1:...表示在宏里面的可變參數(shù),VA_ARGS 函數(shù)里面的可變參數(shù)
- 說明2: OBJC 每個oc文件都會自動定義這個宏,上圖中,表示只有oc文件才會引入頭文件。防止工程中c語言文件引入oc頭文件出錯。