Xcode:PCH文件的創(chuàng)建和使用

由于Xcode不再自動生成PCH文件(Precompile Prefix Header File),所以需要我們自己創(chuàng)建,在新創(chuàng)建pch文件的時候,需要做的操作:

找到PCH File
image.png

創(chuàng)建完成之后,在Build Settings里面找到下圖所示位置

image.png

關(guān)于路徑的填寫問題,雙擊打開之后有個彈框,然后用鼠標拖動創(chuàng)建好的 PCH 文件,拖到彈框之后放手,就會自動生成 PCH 的路徑
然后用$(SRCROOT)替換一下,就可以了(注意替換前后顯示的路徑是一致的方可)

這是拖拽之后生成的路徑
image.png
注意觀察,替換前后下圖顯示的路徑是沒有變化的
image.png

以下內(nèi)容網(wǎng)上查找,屬于轉(zhuǎn)載,但發(fā)現(xiàn)也是轉(zhuǎn)載文章,嘗試但未找到原文章@Enrica_Shi
https://www.cnblogs.com/wzdevelop/p/7339262.html

鏈接已失效,嘗試找到作者簡書,但是文章數(shù)為0

二、編輯PCH文件

?由于編輯器會自動幫你把所有的預(yù)編譯文頭文件導(dǎo)入到項目所有的源文件中,所以從編程規(guī)范上講,應(yīng)該利用條件編譯將Objective-C頭文件隔離起來。尤其是在混合編程時,這種操作就顯得格外重要。下面就具體演示一下。

?先在PCH文件中隨便導(dǎo)入一個OC分類的頭文件,然后在項目中新建一個C語言文件,在沒有利用條件編譯對OC分類頭文件進行有效隔離的情況,按住command + B鍵編譯一下,看看會出現(xiàn)什么情況:

混合編程時沒有對OC頭文件進行隔離的情況.gif

?因為編譯器會將PCH中的頭文件導(dǎo)入到項目中所有的源文件中,而C語言的源文件是不可能識別OC頭文件中的內(nèi)容的,所以編譯器會報一堆的錯誤。現(xiàn)在修改PCH文件,利用條件編譯將OC分類的頭文件進行隔離,然后再重復(fù)上面的操作看一下還有沒有報錯:

利用條件編譯對OC的頭文件進行有效的隔離.gif

?#ifdef OBJC(OBJC前后是兩條下劃線)和#endif可以將OC的頭文件與C語言的源文件進行有效的隔離。也就是說,你在OC頭文件前后加了這個條件編譯之后,編譯器便不再將OC的頭文件拷貝到C語言的源文件中,它只會把OC的頭文件拷貝到OC的源文件中,所以之前的錯誤都消失了。

?PCH文件可以很方便的將多個文件中都要使用的頭文件一次性導(dǎo)入到項目中所有的源文件中,同時,你也可以在PCH文件中定義全局使用的宏,這種操作可以有效幫你節(jié)約開發(fā)時間。但是,同時你也應(yīng)該注意到,PCH文件的使用,無形中增加了項目編譯的時間,應(yīng)該有選擇性的慎重使用。

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

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