カスタム UIView クラス GestureView があります。このクラスの前方宣言があり、それは以下のデリゲートです。GestureView.h を .m ファイルにインポートしました。これは正常に動作しますが、iOS は「GestureViewDelegate のプロトコル定義が見つかりません」という警告メッセージを表示します。前方宣言を削除すると、エラーと同じ警告メッセージが表示されます。通常は.mファイルにインポートするため、ContainerViewController.hからGestureView.hをインポートしたくありません。誰かが次のクラス構造の何が問題なのか説明してもらえますか?
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