objective-c - 方法声明中的语法错误 : Expected ')' before name

标签 objective-c ios syntax-error

我对遇到的错误感到很困惑。我有以下代码:

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

相关文章:

ios - 在iOS中单击youtube共享按钮时,在应用列表中显示我的应用

ios - ProductsRequest didReceiveResponse 返回无效产品

php - 更新时 SQL 语法错误

android - 语法错误插入;和 } 来完成声明?

ios - 以编程方式覆盖 loadView 并设置 rootViewController,无 Storyboard

ios - SpriteKit 支持不同的屏幕尺寸

iphone - 我希望我的 Storyboard的初始 View Controller 是当前 Controller

java - MySQL Java 更新语法

objective-c - getaddrinfo 期间用户数量极少时出现 BAD_ACCESS

objective-c - 关于objective-c中setter的一个问题