.pch文件的作用及常見(jiàn)的一些問(wèn)題

說(shuō)明:

.pch文件是一個(gè)頭文件,定義在.pch文件中的內(nèi)容能夠被項(xiàng)目中的其他文件訪問(wèn)。簡(jiǎn)單來(lái)說(shuō),在.pch文件中定義的弘定義會(huì)作用到項(xiàng)目中的所有文件。 對(duì)于xcode6中創(chuàng)建工程不在自動(dòng)添加.pch文件了。查了下資料,很多資料認(rèn)為.pch文件會(huì)影響效率。我到時(shí)覺(jué)得.pch文件總體上會(huì)加速編譯,因?yàn)閤code會(huì)對(duì).pch文件中的定義預(yù)編譯并緩存。至于為什么會(huì)在xcode6中被踢掉,我猜是因?yàn)楹芏嚅_(kāi)發(fā)者使用方式不對(duì),反而導(dǎo)致減慢編譯速度了吧。

作用及使用:

前面提到蘋(píng)果在xcode6之后踢掉.pch文件的原因猜測(cè)。我們可以聯(lián)想到.pch是把雙刃劍,提供便利性的同時(shí)使用不當(dāng)可能增加Build的時(shí)間。我覺(jué)得這么便利的東西不能丟,不過(guò)同時(shí)要注意它的用法。

不要把絕大部分弘定義放進(jìn)來(lái)。

公用性小的宏定義別放進(jìn)來(lái)。

放置公用性高的頭文件,比如使用率較高的fundation框架,第三方庫(kù)頭文件。

為了整潔性,建立把零散的宏定義整理到某個(gè)頭文件再將該頭文件import入.pch文件。

如果不想使用.pch文件,我覺(jué)得可以這么做。

以MVC架構(gòu)為例。 比如有一些控件的category。為了擁有pch那樣的便利性又不想作用到其他不會(huì)使用它的文件。我們可以將所有view層的文件繼承同一個(gè)父類,可以在這個(gè)父類中import所有需要用到的更view層有關(guān)的公用宏定義,fundation框架及第三方庫(kù)。 Model層和Controller層同理。

如何新建.pch文件 打開(kāi)Xcode

1:新建文件選擇ios->Other->PCH File在選擇Next(watchOS和tvOS同理)。

添加.pch文件

點(diǎn)擊next。這里注意在彈出的對(duì)話框中的Targets項(xiàng)一定要把工程選中。不然在.pch文件中輸入#import的時(shí)候會(huì)沒(méi)有代碼提示。

添加時(shí)記得選中工程

2:將工程的Prefix Header文件配置成該文件。選中工程->Targets->”工程名”->Build Settings 直接搜索Prefix 在Apple LLVM (version)-Language欄中的Prefix Header欄,添加”工程名/你新建的.pch文件”格式添加.pch文件。

工程配置.pch文件

3:在同一個(gè)欄目下,配置Precompile Prefix Header為YES。這樣預(yù)編譯后的pch文件會(huì)被緩存起來(lái),可以提高編譯速度

設(shè)置Precompile Prefix Header為YES

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

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

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