Синтаксическая ошибка в объявлении метода: ожидается ")" перед именем - PullRequest
0 голосов
/ 18 мая 2011

Я очень озадачен ошибкой, которую я получаю.У меня есть следующий код:

В 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», но я понятия не имею, почему?

Icon.m

-(void)type:(IconType)iconType {

...

}

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Я предполагаю, что есть циклическое включение. Icon.h относится к IconView.h и наоборот. Поскольку typedef идет после оператора импорта в Icon.h, возникает ошибка, так как он пока не может найти IconType.

Вы, вероятно, должны объявить @class IconView; и переместить #import "IconView.h" в Icon.m.

2 голосов
/ 18 мая 2011

У вас в конце есть запятая

IconTypeNew = 1,    // remove the comma
...