Как соответствовать самодельному протоколу?
У меня есть класс со свойством делегата. Любой, кто хочет быть делегатом, должен соблюдать протокол. Я определил все так:
#import
@protocol TheDelegateProtocol;
@interface MyClass : UIView {
id theDelegate;
}
@property (nonatomic, assign) id theDelegate;
@end
@protocol TheDelegateProtocol
@required
- (void)fooBarWithFoo:(CGFloat)foo;
@end
Теперь сумасшедшая вещь: у меня есть другой класс, который хочет быть делегатом. Так что это соответствует этому протоколу, вот так:
#import
@class MyClass; // forward declaration. importet in implementation.
@protocol TheDelegateProtocol; // need forward declaration here, right?
@interface OtherClass : NSObject {
// ivars
}
@end
Я могу'заставить это работать. Это говорит:Нет определения протокола »TheDelegateProtocol» найденный", Хорошо, этот протокол определен в MyClass, и я импортирую MyClass в реализацию. Любая идея, чтотам не так?
Разобрался что-то: В методе, где я пытаюсь назначить протокол, он говорит мне, что OtherClass не соответствует протоколу. Но это так! Это бессмысленно. Я также добавил метод протокола в шапке ....