iOS中#include #improt @classd 的區(qū)別

1. 導(dǎo)入objective c的頭文件時(shí)用#import娘侍,包含c/c++頭文件時(shí)用#include粮揉。

假如有兩個(gè)類 EOCPerson 和 EOCEmployer ,這兩個(gè)類各自的頭文件中都引入了對(duì)方的頭文件,則會(huì)導(dǎo)致"循環(huán)引用",當(dāng)解析其中一個(gè)頭文件時(shí),編譯器會(huì)發(fā)現(xiàn)它引入了另一個(gè)頭文件,而那個(gè)頭文件又回過(guò)頭來(lái)引用第一個(gè)頭文件,如果使用#improt而非#include指令則不會(huì)導(dǎo)致死循環(huán),也就是說(shuō)#import確保一個(gè)頭文件只能被導(dǎo)入一次屠缭,這使你在遞歸包含中不會(huì)出現(xiàn)問(wèn)題黄琼,所以 #import比起#include的好處是不會(huì)引起交叉編譯

2.雖然#improt不會(huì)導(dǎo)致死循環(huán),但是卻意味著這兩個(gè)類里面有一個(gè)是無(wú)法被正確編譯的,所以我們就要用到向前聲明@Class,如果你在編譯時(shí)只需要知道有EOCEmployer這個(gè)類,而不需要知道EOCEmployer類的全部細(xì)節(jié),這個(gè)時(shí)候,你就可以使用@Class,如果你需要使用EOCEmployer類,則必須知道該類的所有接口細(xì)節(jié),這個(gè)時(shí)候,就需要#improt

3.將引入頭文件的時(shí)機(jī)盡量延后,只有在確有需要的時(shí)候引用,這樣就可以減少類的使用者所需引入的頭文件的數(shù)量,因?yàn)橹灰?improt頭文件以后,就會(huì)知道該類的所有細(xì)節(jié),會(huì)引入許多根本就用不到的內(nèi)容,增加編譯時(shí)間

4.有些時(shí)候必須要在頭文件中引入其他頭文件,入股你寫的類繼承自某個(gè)超類,則必須引入定義那個(gè)超類的頭文件,同理,如果要聲明你寫的類遵從某個(gè)協(xié)議,那么該協(xié)議必須有完整定義,且不能使用向前聲明.向前聲明只能告訴編譯器有某個(gè)協(xié)議,而此時(shí)編譯器卻要知道該協(xié)議中定義的方法

總結(jié):

1.除非有必要,否則不要引入頭文件,一般來(lái)說(shuō),應(yīng)在某個(gè)類的頭文件中使用向前聲明來(lái)提及別的類,并在實(shí)現(xiàn)文件中引入那些類的頭文件,這樣做可以盡量降低類之間的耦合

2.有時(shí)無(wú)法使用向前聲明,比如要聲明某個(gè)類遵循一項(xiàng)協(xié)議.在這種情況下,盡量把"該類遵循某協(xié)議"的這條聲明移置"class-contimuation"分類中.如果不行的話.就把協(xié)議單獨(dú)放在一個(gè)頭文件中,然后將其引入


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市饵蒂,隨后出現(xiàn)的幾起案子声诸,更是在濱河造成了極大的恐慌,老刑警劉巖退盯,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彼乌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡渊迁,警方通過(guò)查閱死者的電腦和手機(jī)慰照,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)琉朽,“玉大人毒租,你說(shuō)我怎么就攤上這事∠淙” “怎么了蝌衔?”我有些...
    開(kāi)封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蝌蹂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)曹锨,這世上最難降的妖魔是什么孤个? 我笑而不...
    開(kāi)封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮沛简,結(jié)果婚禮上齐鲤,老公的妹妹穿的比我還像新娘。我一直安慰自己椒楣,他們只是感情好给郊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著捧灰,像睡著了一般淆九。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天炭庙,我揣著相機(jī)與錄音饲窿,去河邊找鬼。 笑死焕蹄,一個(gè)胖子當(dāng)著我的面吹牛逾雄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腻脏,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鸦泳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了永品?” 一聲冷哼從身側(cè)響起做鹰,我...
    開(kāi)封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腐碱,沒(méi)想到半個(gè)月后誊垢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡症见,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年喂走,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谋作。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡芋肠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出遵蚜,到底是詐尸還是另有隱情帖池,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布吭净,位于F島的核電站睡汹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寂殉。R本人自食惡果不足惜囚巴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望友扰。 院中可真熱鬧彤叉,春花似錦、人聲如沸村怪。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)甚负。三九已至柬焕,卻和暖如春审残,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背击喂。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工维苔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人懂昂。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓介时,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親凌彬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沸柔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 29,416評(píng)論 8 265
  • 1.項(xiàng)目經(jīng)驗(yàn) 2.基礎(chǔ)問(wèn)題 3.指南認(rèn)識(shí) 4.解決思路 ios開(kāi)發(fā)三大塊: 1.Oc基礎(chǔ) 2.CocoaTouch...
    陽(yáng)光的大男孩兒閱讀 4,999評(píng)論 0 13
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,286評(píng)論 25 707
  • 當(dāng)我提起整個(gè)心來(lái)去寫一篇日記的時(shí)候,所有的情感就整個(gè)傾瀉下來(lái)铲敛。我現(xiàn)在實(shí)在是不想再拷問(wèn)自己到底是不是真正喜歡一個(gè)人褐澎,...
    你在人間失格閱讀 231評(píng)論 0 0
  • 1.媽媽,您時(shí)刻都能讓我感到您的愛(ài)伐蒋, 在您清晨為我在廚房忙碌的時(shí)候工三, 在您雨天為我到...
    北海今辰閱讀 11,569評(píng)論 0 1