PCH文件的作用:
Xcode會提前編譯PCH文件,并且在每個文件中都拷貝PCH文件的內容。利用這一特點,我們可以在PCH文件里存放一些公用的宏
,存放一些頭文件
,以及自定義一些有用的宏
。
PCH文件的創建:
File -> New -> File... -> other -> PCH文件
奮斗的七月
奮斗的七月
然后就會出現
奮斗的七月
- PCH文件配置: Build Settings -> 找到Apple LLVM…(或者搜索prefix) -> 將
Precompile Prefix Header
設置為YES
。
接下來需要在Prefix Header中寫入PCH文件的路徑,注意默認PCH文件這個路徑與項目文件處于同一層級,也就是說Xcode從項目文件的目錄開始查找PCH文件,所以在這里只需要寫項目名稱/文件名稱.pch而不用寫全路徑。$(SRCROOT)/SchoolMeal/ZSPBase_PrefixHeader.pch
其中SchoolMeal為項目名稱,ZSPBase_PrefixHeader.pch為pct文件名
或者直接拖進去(如下圖所示)
奮斗的七月
奮斗的七月
pch正確的使用方式
pch文件作為蘋果早期項目自建的文件,肯定是有其優勢的。事實上,pch不但不會降低編譯速度,總體上反而會提高編譯速度。預編譯后的頭文件會被緩存起來,再次編譯的時候就不需要重新編譯pch文件中導入的內容,從而提高編譯速度。
正確的使用方式:
不要把所有的宏定義都放到平常文件中,尤其是共用性較小的宏定義;
將公用性高的頭文件放到pch中,比如fundation框架等;
(整潔性原則)將零散的宏定義專門創建一個頭文件來放置,再導入到pch中,方便查看和修改;