@class與#import據(jù)我理解,在ClassA需要包含ClassB頭的事件中,應該使用前向類聲明,而ClassB需要包含ClassA頭,以避免任何循環(huán)包含。我也知道#import是一個簡單的ifndef所以包含只發(fā)生一次。我的詢問是:什么時候使用?#import什么時候才能使用@class?有時如果我用@class聲明中,我看到一個常見的編譯器警告,如下所示:warning: receiver 'FooController' is a forward class and corresponding @interface may not exist.很想了解這一點,而不是僅僅刪除@class向前聲明并拋出#import來壓制編譯器給我的警告。
3 回答

慕妹3146593
TA貢獻1820條經(jīng)驗 獲得超9個贊
警告:接收器‘MyCoolClass’是一個前向類,可能不存在相應的@接口
#import
@class
@class
#import
例如
@class MyCoolClass
MyCoolClass *myObject;
MyCoolClass
@class
myObject
#import "MyCoolClass.h"

繁星點點滴滴
TA貢獻1803條經(jīng)驗 獲得超3個贊
只 #import
超類和采用的協(xié)議,在頭文件( .h
檔案)。 #import
在實現(xiàn)中向所有類和協(xié)議發(fā)送消息( .m
檔案)。 其他一切的前向聲明。
- 3 回答
- 0 關注
- 486 瀏覽
添加回答
舉報
0/150
提交
取消