无法从另一个类中访问枚举数据类型

时间:2009-08-26 00:53:43

标签: objective-c cocoa cocoa-touch

希望有人可以帮我这个,因为我已经做了一些抓挠和搜索我仍然忽略了一些明显的东西...我已经定义了一个简单的枚举数据类型:

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)

给了我一个“没有'-myMode'方法”。

相信我的标题和包含是正确的。

1 个答案:

答案 0 :(得分:1)

在引用ClassA的属性之前,您需要ClassA的@interface。通常,这意味着在ClassB的#import "ClassA.h"之前,您需要在ClassB.m中@implementation