我对我得到的错误感到非常困惑。我有以下代码:
在View1.m中,我打了这个电话:
[iconView addIconWithType:IconTypeStandard];
IconView.h
typedef enum {
IconTypeStandard = 0,
IconTypeNew = 1,
} IconType;
-(void)addIconWithType:(IconType)iconType;
IconView.m
-(void)addIconWithType:(IconType)iconType {
...
}
Icon.h
#import "IconView.h"
@interface Icon : UIView {
}
-(Icon *)initWithFrame:(CGRect)frame;
-(void)type:(IconType)iconType;
该行在“IconType”之前导致'Expected')错误,但我不明白为什么?
Icon.m
-(void)type:(IconType)iconType {
...
}
答案 0 :(得分:2)
你的枚举中有一个逗号
IconTypeNew = 1, // remove the comma
答案 1 :(得分:2)
我猜测有一个周期性的包含。 Icon.h
表示IconView.h
,反之亦然。由于typedef
位于Icon.h
中的导入语句之后,因此无法找到IconType
,因此会引发错误。
您应该声明@class IconView;
并将#import "IconView.h"
移至Icon.m
。