나는 다음과 같은 코드가 있습니다목표 - C# import를 루프
#import <Foundation/Foundation.h>
#import "ServerRequest.h" // works even though this line is included
#import "ServerResponseRecord.h"
@protocol ServerRequestDelegate<NSObject>
-(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 # 서로를 가져 오는 것입니다. 그러나, 왜 코드가 (id) 요청으로 #import 행과 함께 작동하는지 이해할 수 없습니다. 또한 왜 구문 오류인지 이해하지 못합니다.
누군가 좋은 설명을 해줄 수 있습니까?
http://stackoverflow.com/questions/10019961/objective-c-class-directive-before-interface에는 가져 오기 루프에 대한 명시적인 예와 '@ 클래스'를 사용하여 피하는 방법이 있습니다. – bbum