Protokolldeklaration für nicht gefunden

Ich habe zwei Objekte, die beide View Controller sind. Der erste (ich nenne ihn viewController1) deklariert ein Protokoll. Die zweite (die ich nicht überraschend viewController2 nennen werde) entspricht diesem Protokoll.

XCode gibt mir den folgenden Buildfehler: 'Protokolldeklaration für viewController1 kann nicht gefunden werden'

Ich habe verschiedene Fragen zu diesem Thema gesehen und bin mir sicher, dass es sich um einen Schleifenfehler handelt, aber ich kann es in meinem Fall einfach nicht sehen ...

Code unten ..

viewController1.h

<code>@protocol viewController1Delegate;

#import "viewController2.h"

@interface viewController1 {

}

@end

@protocol viewController1Delegate <NSObject>

// Some methods

@end
</code>

viewController2.h

<code>#import "viewController1.h"

@interface viewController2 <viewController1Delegate> {

}

@end
</code>

Anfangs hatte ich die Importzeile in viewController1 über der der Protokolldeklaration. Dies verhinderte, dass das Projekt überhaupt gebaut wurde. Nachdem ich nach SO gesucht hatte, erkannte ich das Problem und vertauschte die beiden Zeilen. Ich erhalte jetzt eine Warnung (im Gegensatz zu einem Fehler). Das Projekt funktioniert einwandfrei und läuft einwandfrei. Aber ich habe immer noch das Gefühl, dass etwas nicht stimmt, um gewarnt zu werden.

Soweit ich sehen kann, ist das erste, was der Compiler sieht, wenn er viewController1.h erreicht, die Deklaration des Protokolls. Anschließend wird die Datei viewController.h importiert und es wird angezeigt, dass dieses Protokoll implementiert wird.

Wenn sie umgekehrt kompiliert würden, würde zuerst viewController2.h angezeigt, und als Erstes würde viewController1.h importiert, dessen erste Zeile die Protokolldeklaration ist.

Vermisse ich etwas?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage