No se puede encontrar la declaración de protocolo

Tengo dosview controllers A yB, y ambos se tienen como delegados.

Cuando no hice nada excepto definir los protocolos al comienzo de los archivos de encabezado y#import el archivo de encabezado del otro, obtuve dos errores en la línea de -

no se puede encontrar la declaración de protocolo para "BDelegate", que se mostraba en A.h (donde escribí) no se puede encontrar la declaración de protocolo para "ADelegate", que se mostraba en B.h (donde escribí)

Mirando en línea, la gente había escrito anteriormente que la inclusión circular de los archivos de encabezado podría estar causando problemas. Recomendaron usar#include en cambio, o@class declaración como -

@class A

en lugar d

#import A.h

dentro#import B.h

He intentado casi todas las combinaciones de estas importaciones, y@classes y#include pero aún así no puedo deshacerme de las advertencias. Además, las soluciones en línea recomiendan mover el#import al.m archivos pero eso tampoco ayudó. Parte de la razón es que las soluciones en línea son un poco confusas; si pudiera desglosarlas, sería genial.

¿Alguna sugerencia sobre qué se puede hacer para solucionar esto?

- BigViewController.h -

#import "BaseViewController.h"
#include "BaseViewController.h"

@class BigViewController;

@protocol BigViewControllerDelegate
-(void) BigViewController:(BigViewController *) bigView;
@end

@interface BigViewController : UIViewController <BaseViewControllerDelegate>
{    
     //delegate
     id <BigViewControllerDelegate> delegate;

ivars...    
}

@properties...
@end

--------------------------------------------------

- BaseViewController.h -

#<UIKit/UIKit.h>

#import "BigViewController.h"
#include "BigViewController.h"

@class BigViewController;

@protocol BaseViewControllerDelegate
- (void) setParametersWithItemChosen:(Item *) item;
@end

@interface BaseViewController : UIViewController <...BigViewControllerDelegate...>
{

   ivars...

   //delegate
    id <BaseViewControllerDelegate> delegate;
}

@properties...
@end

Respuestas a la pregunta(6)

Su respuesta a la pregunta