私は数ヶ月前に残したCocoaプロジェクトで作業を再開しました。あなたがしばらくそれを使用していない場合、ココアは変な獣です。とにかく警告:MyClass:NSObjectはキー値監視を実装していませんか?どのようにすることができますか?
、いくつかの点で、コンパイラが警告を落とし始めた:クラスの不完全履行のための「MyClassの」
メソッドの定義
「を-addObserver:forKeyPath:オプション:コンテキスト」の
メソッドの定義が見つかりません。 '-removeObserver:forKeyPath:' 完全に 'MyZoomScrollViewDataSource' を実装していない
クラス 'MyClassの' になっていないプロトコル
しかし、MyClass
はNSObject
に由来し、実際に-addObserver:forKeyPath:
と-removeObserver:forKeyPath:context:
を実装しています。
プロトコルは、次のようになります。私は私のココアのスキルは、リフレッシュのための深い必要としていると思います
@interface MyClass : NSObject <MyZoomScrollViewDataSource> {
IBOutlet Outlets...
variables...
}
@properties...
(IBAction)actions...
- methods...
@end
:
@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
クラスは次のようになります。しかし、これらのメソッドはNSObject
から継承する必要がありますが、どうしてMyClass
ではこれらのメソッドを実装できませんか?
'MyClass'は' NovaController'と同じですか? –
@Bavarious:はい、そうです。私はそれに応じて問題を修正した。 – bastibe