2014-11-25 44 views
1

我有兩個類,Entity和EntityHandler。相互包含中斷類型

EntityHandler有一個方法AddEntity。此方法將實體添加到NSMutableArray。

實體有一個名爲subscribe的方法。它將對EntityHandler的引用分配給一個變量供以後使用。

將兩個頭文件包含在對方中後,項目就會中斷。例如,

-(void) addEntity: (Entity *) mob; 

返回錯誤

Expected a type 

我該如何解決這個問題?

+0

C++的語法看起來不正確。你有正確的標記嗎? – 2014-11-25 02:48:53

+0

你使用的語法很明顯是Objective-C,而不是C++。我已經刪除了C++標籤。 – duskwuff 2014-11-25 03:13:32

回答

2

您正在尋找適用於您的ObjC類型的前向聲明,以打破循環標題依賴關係。

它看起來是這樣的:

// EntityHandler.h 

@class Entity; // << the forward declaration. not #import. 

@interface EntityHandler : NSObject 
-(void) addEntity:(Entity *) mob; 
@end 

這告訴編譯器存在名爲Entity的ObjC類。

然後你#import當你需要更多的類型名稱(可能在EntityHandler.m)。