Ich habe benutzerdefinierte UIView Klasse GestureView. Ich habe eine Forward-Deklaration für diese Klasse und es ist Delegierter unten. Ich habe GestureView.h in die .m-Datei importiert. Das funktioniert einwandfrei, aber iOS gibt eine Warnmeldung mit dem Hinweis "Protokolldefinition für GestureViewDelegate nicht finden" aus. Wenn ich die Vorwärtsdeklaration entferne, gibt es dieselbe Warnmeldung wie der Fehler. Ich möchte GestureView.h nicht von ContainerViewController.h importieren, da ich normalerweise Inhalte in der .m-Datei importiere. Könnte jemand bitte erklären, was in der Klassenstruktur falsch ist?iOS 5.0 Warnung: Kann keine Protokolldefinition für Delegat finden
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
Wo ist Ihr Protokoll definiert? – Moxy
Sie können in dem Code, den ich gepostet habe, sehen! Es ist in GestureView.h! – applefreak
In 'ContainerViewController.h' versuche' #import GestureView.h' anstelle der Forward-Deklaration – Moxy