天天看點

@class

作用

可以簡單地引用一個類

簡單使用

@class Dog;

僅僅是告訴編譯器:Dog是一個類;并不會包含Dog這個類的所有内容

具體使用

在.h檔案中使用@class引用一個類

在.m檔案中使用#import包含這個類的.h檔案

對于循環依賴關系來說,比方A類引用B類,同時B類也引用A類

這種嵌套包含的代碼編譯會報錯

當使用@class在兩個類互相聲明,就不會出現編譯報錯

作用上的差別

#import會包含引用類的所有資訊(内容),包括引用類的變量和方法

@class僅僅是告訴編譯器有這麼一個類, 具體這個類裡有什麼資訊, 完全不知

效率上的差別

如果有上百個頭檔案都#import了同一個檔案,或者這些檔案依次被#import,那麼一旦最開始的頭檔案稍有改動,後面引用到這個檔案的所有類都需要重新編譯一遍 , 編譯效率非常低

相對來講,使用@class方式就不會出現這種問題了

上一篇: class
下一篇: class

繼續閱讀