2009-08-26 104 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