我正在尝试使用键值观察来为NSMutableArray工作.下面是MyObservee的.h文件,观察到的类:
@interface MyObservee : NSObject {
@private int someValue;
@private NSMutableArray *someArray;
}
@property (readwrite,assign) int someValue;
- (NSMutableArray *)someArray;
@end
Run Code Online (Sandbox Code Playgroud)
MyObserver类实现observeValueForKeyPath:ofObject:change:context:.这是我添加观察者的方式:
MyObservee *moe = [[MyObservee alloc] init];
MyObserver *mobs = [[MyObserver alloc] init];
[moe addObserver:mobs
forKeyPath:@"someArray"
options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)
context:NULL];
[moe.someArray addObject:@"hi there"];
Run Code Online (Sandbox Code Playgroud)
为什么addObject:message不会作为someArray键路径的更改而触发?我觉得这里有一些我不完全理解的东西.