无法使用NSObject作为参数定义协议

Ste*_*ven 0 objective-c

对于我的生活,我无法弄清楚这个协议声明有什么问题.在@requred之后,我在线上得到以下错误:

在'MyService'之前预期*之前*预期')'

@protocol MyServiceDelegate

@required
- (void)requestFinished:(MyService *)service;
@end

@interface MyService : NSObject

@property (nonatomic, assign) id <MyServiceDelegate>delegate;
@property (nonatomic, assign) NSURLConnection *connection;

@end
Run Code Online (Sandbox Code Playgroud)

alb*_*amg 5

编译MyServiceDelegate协议时,编译器不了解MyService类.您可以使用前向声明来解决此问题:

@class MyService;

@protocol MyServiceDelegate
// implementation continues
Run Code Online (Sandbox Code Playgroud)