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?