Advertencia de iOS 5.0: no se puede encontrar la definición de protocolo para Delegate

Tengo la clase personalizada UIView GestureView. Tengo una declaración de reenvío para esta clase y está delegado a continuación. He importado GestureView.h en el archivo .m. Esto funciona bien, pero iOS muestra un mensaje de advertencia que dice "No se puede encontrar la definición de protocolo para GestureViewDelegate". Si elimino la declaración hacia adelante, da el mismo mensaje de advertencia como error. No quiero importar GestureView.h desde ContainerViewController.h ya que usualmente importa cosas en el archivo .m. ¿Podría alguien explicar qué está mal en la siguiente estructura de clase?

ContainerViewController.h

#import <UIKit/UIKit.h>

@class DividerView;
@class GestureView;
@protocol GestureViewDelegate;

@interface ContainerViewController : UIViewController<GestureViewDelegate>
   @property (strong, nonatomic) IBOutlet GestureView *topContentView;
@end

GestureView.h

#import <UIKit/UIKit.h>

@protocol GestureViewDelegate;

@interface GestureView : UIView
    - (void)initialiseGestures:(id)delegate;
@end

@protocol GestureViewDelegate <NSObject>
@required
- (void)GestureView:(GestureView*)view handleSignleTap:(UITapGestureRecognizer*)recognizer;
@end

Respuestas a la pregunta(2)

Su respuesta a la pregunta