在.h和.m文件中,什么時候才用#import,什么時候采用@class呢?先來看看兩者有啥不同。
站在用戶的角度思考問題,與客戶深入溝通,找到白云網(wǎng)站設(shè)計與白云網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋白云地區(qū)。區(qū)別一 :從包含的內(nèi)容來看。
當(dāng)使用#import的時候,它會包含這個類的所有信息,如屬性,方法等。而@class則只是告訴編譯器,其后面跟著的是類的名字,至于后面如何定義的,暫時不需要知道。在.h文件中,一般只需要知道類的名稱就可以了,所以一般使用@class來引入這個類。 而在具體的實現(xiàn)類.m文件里面,我們常常會用到類的成員(屬性,方法等),因此就需要使用#import了。 當(dāng)然.h文件里面使用它也是完全沒問題的。
區(qū)別二:從編譯效率上看。
如果在.h文件中使用#import,假設(shè)A,B,C,D四個.h文件。并且四個文件存在依次引用關(guān)系,例如A—>B,B—>C, C—>D。當(dāng)開始的頭文件A有變化的時候,后面的所有引用它的類都得重新編譯,如果幾十個.h文件都存在這種依賴關(guān)系,那么重新編譯耗時就比較長了,效率也就低了(主要指開發(fā)過程中,打好包之后沒啥問題)。使用@class則不存在該問題,編譯效率上來說是比較高的。
比較蛋疼的場景
假如存在循環(huán)依賴關(guān)系,例如A—>B,B—>A。如果使用#import來相互包含,在編譯的時候就會報錯,此時使用@class name在兩個.h文件中相互聲明則不會有這種問題。所以在.h文件中還是比較推薦使用@class,能夠避免一些不必要的編譯錯誤。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:談?wù)剝煞N引用方式#import和@class使用區(qū)別-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article8/dpjdop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、虛擬主機、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站收錄、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)