方法声明中的语法错误:名称前的预期')'

时间:2011-05-17 20:12:46

标签: objective-c ios syntax-error

我对我得到的错误感到非常困惑。我有以下代码:

在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 {

...

}

2 个答案:

答案 0 :(得分:2)

你的枚举中有一个逗号

IconTypeNew = 1,    // remove the comma

答案 1 :(得分:2)

我猜测有一个周期性的包含。 Icon.h表示IconView.h,反之亦然。由于typedef位于Icon.h中的导入语句之后,因此无法找到IconType,因此会引发错误。

您应该声明@class IconView;并将#import "IconView.h"移至Icon.m