新聞中心
這篇文章主要為大家展示了“iOS如何解決頭文件的導(dǎo)入問題”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“iOS如何解決頭文件的導(dǎo)入問題”這篇文章吧。
成都網(wǎng)站建設(shè)公司更懂你!成都創(chuàng)新互聯(lián)公司只做搜索引擎喜歡的網(wǎng)站!成都網(wǎng)站制作前臺采用搜索引擎認(rèn)可的DIV+CSS架構(gòu),全站HTML靜態(tài),H5技術(shù)+CSS3網(wǎng)站,提供:網(wǎng)站建設(shè),微信開發(fā),重慶小程序開發(fā)公司,成都做商城網(wǎng)站,重慶APP開發(fā),空間域名,服務(wù)器租售,網(wǎng)站代托管運營,微信公眾號代托管運營。
一.@class的出現(xiàn)可以適當(dāng)減少編譯時間,提高效率。
現(xiàn)在假設(shè)有兩個類,一個是Teacher類,一個是Students類。
Teacher類
#import#import "Students.h" @interface Teacher : NSObject @property (copy,nonatomic)NSString *firstName; @property (copy,nonatomic)NSString *lastName; @property (strong,nonatomic)Students *student; @end
在類中聲明三個屬性,其中有一個屬性為Students類屬性。這時候既然使用到Students類,就需要導(dǎo)入該類的頭文件。如如上代碼。
注意:此時使用的是import導(dǎo)入的。這個方法可行但是不夠優(yōu)雅,存在一個問題,在聲明文件中,我們不需要知道Students類的全部細(xì)節(jié),只需要知道類名是Students就可以。如下使用@class解決問題,這叫“向前聲明”該類。
Teacher.h
#import@class Students; @interface Teacher : NSObject @property (copy,nonatomic)NSString *firstName; @property (copy,nonatomic)NSString *lastName; @property (strong,nonatomic)Students *student; @end
Teacher.m
#import "Teacher.h" #import "Students.h" @implementation Teacher @end
Teacher類的實現(xiàn)文件就需要知道Students類的全部借口細(xì)節(jié),因此就需要在此時使用import “Students.h”。
將引入頭文件的時機盡量延后,只有在確有需要的時候才引入,這樣就可以減少類的使用者所需引入的頭文件的數(shù)量。假如在.h文件的時候就是用import導(dǎo)入,就會引入很多不需要使用的內(nèi)容,這必然會增加編譯時間。
二.@class的出現(xiàn)也兩個類互相引用的問題。
Teacher.h
#import#import "Students.h" @interface Teacher : NSObject @property (copy,nonatomic)NSString *firstName; @property (copy,nonatomic)NSString *lastName; @property (strong,nonatomic)Students *student; @end
Students.h
#import#import "Teacher.h" @interface Students : NSObject @property (strong,nonatomic)Teacher *teacher; @end
在Students類中import “Teacher.h”,同時在Teacher類中import “Students”類,這就造成了循環(huán)引用問題,程序在編譯的時候就會出現(xiàn)無休止的編譯。此時只需要將其中一個import改成@class即可,如果兩者的.h文件都不需要知道對方類的全部借口細(xì)節(jié),最佳方案是全部使用@class。
以上是“iOS如何解決頭文件的導(dǎo)入問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站名稱:iOS如何解決頭文件的導(dǎo)入問題
文章路徑:http://fisionsoft.com.cn/article/jgphpj.html