Я только недавно возобновил работу над проектом Какао, который я оставил несколько месяцев назад. Какао - странный зверь, если вы давно его не используете.
В любом случае, в какой-то момент компилятор начал сбрасывать предупреждения:
Неполная реализация класса 'MyClass'
Определение метода для '-addObserver: forKeyPath: options: context' не найдено
Определение метода для -removeObserver: forKeyPath: 'не найдено
Класс «MyClass» не полностью реализует протокол «MyZoomScrollViewDataSource»
Но MyClass
происходит от NSObject
, который фактически реализует -addObserver:forKeyPath:
и -removeObserver:forKeyPath:context:
.
Протокол выглядит так:
@protocol MyZoomScrollViewDataSource
// The range of Data that should be shown. This corresponds to the horizontal
// zoom and the scroll value of self.
@property FRange selectionRange;
// Also, make sure the dataSource is KVO compliant
- (void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context;
- (void)removeObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath;
@end
Класс выглядит так:
@interface MyClass : NSObject <MyZoomScrollViewDataSource> {
IBOutlet Outlets...
variables...
}
@properties...
(IBAction)actions...
- methods...
@end
Полагаю, мои навыки в Какао нуждаются в обновлении. Но все же эти методы должны быть унаследованы от NSObject
, так как же MyClass
не может реализовать эти методы?