저는 최근에 몇 달 전에 나온 코코아 프로젝트에서 최근에 작업을 재개했습니다. 코코아는 잠시 동안 사용하지 않으면 이상한 짐승입니다. 에 대한 'MyClass에'
방법 정의 클래스의경고 : MyClass : NSObject는 키 값 관측을 구현하지 않습니까? 어떻게 그렇게 될수 있니?
불완전한 구현 :
어쨌든, 어떤 점에서 컴파일러는 떨어지고 경고를 시작한 'forKeyPath : 옵션 : -addObserver 컨텍스트'
방법의 정의를 찾을 수 없음 '-removeObserver : forKeyPath :'완전히 'MyZoomScrollViewDataSource'를 구현하지 않습니다
클래스 'MyClass에'를 찾을 수없는 프로토콜
그러나 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
은 이러한 메서드를 구현하지 못합니다.
'MyClass'는'NovaController'와 같은가요? –
@Bavarious : 예, 그렇습니다. 그에 따라 문제를 해결했습니다. – bastibe