我对遇到的错误感到很困惑。我有以下代码:
在 View1.m 中,我进行了调用:
[iconView addIconWithType:IconTypeStandard];
图标 View .h
typedef enum {
IconTypeStandard = 0,
IconTypeNew = 1,
} IconType;
-(void)addIconWithType:(IconType)iconType;
图标 View .m
-(void)addIconWithType:(IconType)iconType {
...
}
图标.h
#import "IconView.h"
@interface Icon : UIView {
}
-(Icon *)initWithFrame:(CGRect)frame;
-(void)type:(IconType)iconType;
该行在 'IconType'' 之前导致错误 'Expected ')',但我不知道为什么?
图标.m
-(void)type:(IconType)iconType {
...
}
最佳答案
我猜测存在周期性包含。 Icon.h
引用 IconView.h
,反之亦然。由于 typedef
出现在 Icon.h
中的 import 语句之后,它引发了错误,因为它还找不到 IconType
。
您可能应该声明 @class IconView;
并将 #import "IconView.h"
移动到 Icon.m
。
关于objective-c - 方法声明中的语法错误 : Expected ')' before name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6036512/