iOS pch檔案詳解

來源:互聯網
上載者:User

iOS pch檔案詳解

在Xcode6之後,包括現在的Xcode7,都不會自動產生.pch檔案了。貌似已經不推薦使用了。但是在看別人很多項目的時候,還是有包括這個檔案,今天我們來談談.pch是什麼吧。

***_Prefix.pch就是該項目的先行編譯標頭檔。.pch表示PreComplied Header,是一個工程要用到的來自於外部架構的標頭檔列表。Xcode將會首先會編譯.pch中這些標頭檔,以減少在Build整個項目的時間。通常所有的檔案都自動包含了pch檔案,系統在編譯每個.h, .m檔案前,都先會import這個檔案,而不再需要單獨編譯每個檔案中的標頭檔。加速了編譯過程。

如果我們不小心刪掉了.pch檔案,那麼應該怎麼辦呢?自己再建立一個PCH File即可,名字可以任意取。然後再來到項目設定的Build Setting中,右上方搜尋方塊中輸入“pch”進行尋找,找到一個Prefix Header,然後輸入修改後的名字即可。如下:注意這裡是一個相對路徑。

 

 

所以有時候我們常常把很多常用的標頭檔都包含到pch中,比如下面就是我的一個pch檔案:

 

#ifndef MyPass_pch#define MyPass_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.#import AppDelegate.h#import #import AppDelegate.h#endif /* MyPass_pch */

 

這樣,我們就不需要在所有的.h, .m檔案中包含這三個標頭檔了。但是請注意!!!!!!有一個例外!!!!!

iOS項目中的AppDelegate.h檔案中的#import 不能缺少。這是因為AppDelegate.h檔案是整個項目的開機檔案,比pch檔案早編譯,所以AppDelegate.h中所需的標頭檔不能放入pch中。

我在前面一篇部落格《iOS定義常量的最佳實務》中就如何在項目中定義常量進行了說明,現在有了pch檔案,這也變得很方便了。我們可以在pch檔案中進行#define 宏定義。然後在項目的任何位置都可以使用這個宏定義,不需要顯式的引入pch檔案,非常方便。可惜是pch中不能定義const常量。。。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.