这段代码有什么问题?

时间:2010-06-10 23:27:14

标签: iphone objective-c protocols

@protocol MyViewDelegate <NSObject>
- (void) didFinishProcessing:(MyView*)myView; //compiler stops here with error
@end

@interface MyView : MySuperclass {

id<MyViewDelegate> _delegate;       
}

@property (nonatomic, retain) id<MyViewDelegate> delegate;

@end

当我尝试编译时,我在MyView 之前得到“ expected')'”。 错误在哪里?

2 个答案:

答案 0 :(得分:5)

@protocol之前添加行@class MyView。此时,编译器还不知道您的MyView类。

答案 1 :(得分:3)

编译器无法识别

MyView,这就是为什么它会在它之前预期一个紧密的paren。这是因为类定义在MyViewDelegate协议之下,所以编译器还没有看到它。添加

@class MyView;

在协议声明之上修复它。