Nie można znaleźć deklaracji protokołu dla

Mam dwa obiekty, z których oba są kontrolerami widoku. Pierwszy (Ill call it viewController1) deklaruje protokół. Drugi (który, jak można się spodziewać, będę nazywał viewController2), jest zgodny z tym protokołem.

XCode daje mi błąd kompilacji: „Nie można znaleźć deklaracji protokołu dla viewController1”

Widziałem różne pytania na ten temat i jestem pewien, że ma to związek z błędem pętli, ale nie widzę tego w moim przypadku ...

Kod poniżej ..

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>

Początkowo miałem linię importu w viewController1 powyżej linii deklaracji protokołu. To w ogóle uniemożliwiało budowę budynku. Po przeszukaniu SO zdałem sobie sprawę z problemu i zmieniłem dwie linie wokół. Otrzymuję teraz ostrzeżenie (w przeciwieństwie do błędu). Projekt rozwija się dobrze i działa doskonale. Ale nadal uważam, że musi być coś złego, aby otrzymać ostrzeżenie.

Teraz, o ile widzę, gdy kompilator dostaje się do viewController1.h, pierwszą rzeczą, którą widzi, jest deklaracja protokołu. Następnie importuje plik viewController.h i widzi, że implementuje ten protokół.

Gdyby kompilował je na odwrót, najpierw spojrzałby na viewController2.h, a pierwszą rzeczą, którą zrobiłby, byłoby import viewController1.h, którego pierwszym wierszem jest deklaracja protokołu.

Czy czegoś mi brakuje?

questionAnswers(3)

yourAnswerToTheQuestion