.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)致減慢編譯速度了吧。

作用及使用:

前面提到蘋果在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)系作者
  • 序言:七十年代末蜓斧,一起剝皮案震驚了整個(gè)濱河市仓蛆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挎春,老刑警劉巖看疙,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異直奋,居然都是意外死亡能庆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門帮碰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)相味,“玉大人,你說(shuō)我怎么就攤上這事殉挽》嵘妫” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵斯碌,是天一觀的道長(zhǎng)一死。 經(jīng)常有香客問(wèn)我,道長(zhǎng)傻唾,這世上最難降的妖魔是什么投慈? 我笑而不...
    開(kāi)封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮冠骄,結(jié)果婚禮上伪煤,老公的妹妹穿的比我還像新娘。我一直安慰自己凛辣,他們只是感情好抱既,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著扁誓,像睡著了一般防泵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝗敢,一...
    開(kāi)封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天捷泞,我揣著相機(jī)與錄音,去河邊找鬼寿谴。 笑死锁右,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骡湖,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼贱纠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼峻厚!你這毒婦竟也來(lái)了响蕴?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤惠桃,失蹤者是張志新(化名)和其女友劉穎浦夷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辜王,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劈狐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呐馆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肥缔。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖汹来,靈堂內(nèi)的尸體忽然破棺而出续膳,到底是詐尸還是另有隱情,我是刑警寧澤收班,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布坟岔,位于F島的核電站,受9級(jí)特大地震影響摔桦,放射性物質(zhì)發(fā)生泄漏社付。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一邻耕、第九天 我趴在偏房一處隱蔽的房頂上張望鸥咖。 院中可真熱鬧,春花似錦兄世、人聲如沸啼辣。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)熙兔。三九已至,卻和暖如春艾恼,著一層夾襖步出監(jiān)牢的瞬間住涉,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工钠绍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舆声,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像媳握,于是被迫代替她去往敵國(guó)和親碱屁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容