Objective-C # import loop

У меня есть следующий код:

#import 
#import "ServerRequest.h" // works even though this line is included
#import "ServerResponseRecord.h"

@protocol ServerRequestDelegate

-(void)request:(id)request gotResponseRecord:(ServerResponseRecord*)response;
-(void)request:(id)request gotError:(NSError*)error;

@end

Он компилируется и работает нормально. Однако, если я заменю объявления метода на:

-(void)request:(ServerRequest*)request gotResponseRecord:(ServerResponseRecord*)response;
-(void)request:(ServerRequest*)request gotError:(NSError*)error;

Я получаю неожиданную синтаксическую ошибкуошибка: ожидается ')' до 'ServerRequest», Единственная причина, по которой я могу думать, что это может быть проблемой, заключается в том, что ServerRequestDelegate.h и ServerRequest.h #import друг друга. Тем не менее, я неЯ не понимаю, почему код работает со строкой #import с запросом (id). Я тоже нене понимаю, почему этоСинтаксическая ошибка.

Может кто-нибудь дать хорошее объяснение?

Ответы на вопрос(2)

Ваш ответ на вопрос