2009-08-26 91 views
0

希望有人可以幫助我,因爲我已經做了一些劃痕&搜索我仍然忽略了一些明顯的...我定義了一個簡單的枚舉數據類型:無法訪問另一類中的枚舉數據類型

typedef enum { 
    kLow = -1, 
    kMid, 
    kHigh 
} MyMode; 

在我做的ClassA這種類型的實例變量:

@interface ClassA : UIView { 
    MyMode myMode; 
} 
@property (nonatomic) MyMode myMode; 
@end 

然後myMode在@implementation合成。現在,在另一個類我引用ClassA的

@interface ClassB : UIView { 
    ClassA *classA; 
} 
@property (nonatomic, retain) ClassA *classA; 
@end 

最後,在方法瓦特/ ClassB的,我想測試ClassA的的myMode屬性的狀態。我已經嘗試過

if (classA.myMode == kLow) 

並且這給了我「請求成員不是結構或聯合的成員」的錯誤。鑄造沒有什麼區別。

if ([classA myMode] == kLow) 

給了我一個「No'-myMode'found found」。

相信我的標題和包含都是正確的。

回答

1

您需要Class32的@interface才能引用ClassA的屬性。通常,這意味着您需要在ClassB的@implementation之前在ClassB.m中使用#import "ClassA.h"

+0

我是個笨蛋。我有@class ClassA;在@interface中聲明...但忘記了@實現中的導入...並將它放在我的腦海裏...... garr!好吧,thx! – Meltemi 2009-08-26 01:10:08