Não é possível encontrar a declaração de protocolo para

Eu tenho dois objetos, os quais são controladores de visualização. O primeiro (eu chamo de viewController1) declara um protocolo. O segundo (que, sem surpresa, vou nomear viewController2) está de acordo com este protocolo.

XCode está me dando um erro de compilação de: 'Não é possível encontrar declaração de protocolo para viewController1'

Eu tenho visto várias questões sobre este assunto e tenho certeza que isso tem a ver com um erro de loop, mas eu simplesmente não consigo ver no meu caso ...

Código abaixo ..

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>

Inicialmente, eu tinha a linha de importação no viewController1 acima da declaração do protocolo. Isso estava impedindo que o projeto se desenvolvesse. Depois de pesquisar em SO, percebi o problema e mudei as duas linhas ao redor. Agora estou recebendo um aviso (em oposição a um erro). O projeto é ótimo e funciona perfeitamente. Mas ainda sinto que deve haver algo errado para receber um aviso.

Agora, até onde eu posso ver, quando o compilador chega ao viewController1.h, a primeira coisa que vê é a declaração do protocolo. Em seguida, ele importa o arquivo viewController.h e vê isso implementa esse protocolo.

Se ele estivesse compilando-os ao contrário, ele olharia viewController2.h primeiro, e a primeira coisa que faria seria importar viewController1.h, a primeira linha da qual é a declaração de protocolo.

Estou esquecendo de algo?

questionAnswers(3)

yourAnswerToTheQuestion