iOS中手把手教你配置pch文件

  • pch文件:

預編譯頭文件(一般擴展名為.PCH),是把一個工程中較穩(wěn)定的代碼預先編譯好放在一個文件(.PCH)里,它們在整個工程中是較為穩(wěn)定的,即在工程開發(fā)過程中不會經(jīng)常被修改的代碼。在我的理解里是把一些宏定義(kScreenW等),一些要在多個類中使用的頭文件在此文件中書寫。簡單來說,在.pch文件中定義的宏定義會作用到項目中的所有文件。

  • pch文件的作用:

    對于xcode6以后創(chuàng)建工程不在自動添加.pch文件了,很多資料認為.pch文件會影響效率。我覺得.pch文件總體上會加速編譯,因為xcode會對.pch文件中的定義預編譯并緩存。之所以減慢編譯速度應該是因為很多開發(fā)者使用方式不對吧。
    我們可以想到.pch是把雙刃劍,提供便利性的同時如果使用不當可能增加Build的時間。
  • 使用注意點:

  1. 不要把絕大多數(shù)甚至是所有的宏定義放進來。
  2. 在某個類或者某幾個類中使用的宏定義別放進來。
  3. 放置公用性高的頭文件,比如使用率較高的fundation框架,第三方庫頭文件。
  4. 為了整潔性的要求,建議把公用性低的宏定義整理到某個頭文件再將該頭文件寫入.pch文件。
  • pch文件的創(chuàng)建

  1. 新建文件(command+N)選擇PCHFile
pch創(chuàng)建.png
  1. 點擊項目,選擇Bulid Settings,在搜索框中寫入Prefix Header
set.png
  1. 找到這一欄Precompile Prefix Header,將NO改為Yes
YES.png
  1. 在Prefix Header這一欄后面雙擊出現(xiàn)白框,輸入$(SRCROOT)/項目名/PCH文件名.pch 。
輸入.png

注意這里的SRCROOT一定要大寫,該目錄下的所有文件不能出現(xiàn)漢字否則找不到路徑。如下圖的路徑為:$(SRCROOT)/myCar/Resource/Global/PrefixHeader.pch

路徑.png
  1. 到這里已經(jīng)配置完畢,快捷鍵(Command+B)編譯下看是否報錯,報錯請看上面的注意點。沒報錯的話可以在pch文件寫宏定義測試下,以及導入一些頭文件。

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
//下面是宏定是獲取屏幕的寬度和高度
#define KScreenW [UIScreen mainScreen].bounds.size.width
#define KScreenH [UIScreen mainScreen].bounds.size.height

#endif /* PrefixHeader_pch */


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容