作用
可以簡單地引用一個類
簡單使用
@class Dog;
僅僅是告訴編譯器:Dog是一個類;并不會包含Dog這個類的所有内容
具體使用
在.h檔案中使用@class引用一個類
在.m檔案中使用#import包含這個類的.h檔案
對于循環依賴關系來說,比方A類引用B類,同時B類也引用A類
這種嵌套包含的代碼編譯會報錯
當使用@class在兩個類互相聲明,就不會出現編譯報錯
作用上的差別
#import會包含引用類的所有資訊(内容),包括引用類的變量和方法
@class僅僅是告訴編譯器有這麼一個類, 具體這個類裡有什麼資訊, 完全不知
效率上的差別
如果有上百個頭檔案都#import了同一個檔案,或者這些檔案依次被#import,那麼一旦最開始的頭檔案稍有改動,後面引用到這個檔案的所有類都需要重新編譯一遍 , 編譯效率非常低
相對來講,使用@class方式就不會出現這種問題了