Objective-C #import-Schleife
Ich habe folgenden Code:
#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
Es kompiliert und läuft gut. Wenn ich jedoch die Methodendeklarationen durch Folgendes ersetze:
-(void)request:(ServerRequest*)request gotResponseRecord:(ServerResponseRecord*)response;
-(void)request:(ServerRequest*)request gotError:(NSError*)error;
Ich erhalte den unerwarteten Syntaxfehler "error: expected ')' vor 'ServerRequest'". Der einzige Grund, aus dem ich annehmen kann, dass dies ein Problem sein könnte, besteht darin, dass ServerRequestDelegate.h und ServerRequest.h # sich gegenseitig importieren. Ich verstehe jedoch nicht, warum der Code mit der Zeile #import with (id) request funktioniert. Ich verstehe auch nicht, warum es ein Syntaxfehler ist.
Kann jemand eine gute Erklärung liefern?