Невозможно определить протокол с NSObject в качестве параметра - PullRequest
0 голосов
/ 04 августа 2011

За свою жизнь я не могу понять, что не так с этим объявлением протокола. Сразу после @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

Ответы [ 3 ]

5 голосов
/ 04 августа 2011

При компиляции протокола MyServiceDelegate компилятор не знает о классе MyService.Вы можете использовать предварительную декларацию для решения этой проблемы:

@class MyService;

@protocol MyServiceDelegate
// implementation continues
1 голос
/ 04 августа 2011

В момент ошибки компилятор не знает о вашем классе MyService - добавьте

@class MyService;

до

@protocol MyServiceDelegate

, и он должен прекрасно работать.

0 голосов
/ 04 августа 2011

Вы должны добавить @class MyServive; перед протоколом.Вы используете это внутри протокола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...