希望有人可以帮我这个,因为我已经做了一些抓挠和搜索我仍然忽略了一些明显的东西...我已经定义了一个简单的枚举数据类型:
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'方法”。
我相信我的标题和包含是正确的。
答案 0 :(得分:1)
在引用ClassA的属性之前,您需要ClassA的@interface
。通常,这意味着在ClassB的#import "ClassA.h"
之前,您需要在ClassB.m中@implementation
。