【发布时间】:2015-07-28 19:30:28
【问题描述】:
如何观察阵列控制器的计数?
到目前为止我已经尝试过:
//...
self.array = [[NSMutableArray alloc] init];
self.arrayController = [[NSArrayController alloc] initWithContent:self.array];
[self.arrayController addObserver:self
forKeyPath:@"arrangedObjects"
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:@"self.array"];
[self.array addObject:@"anoop"];
[self.array addObject:@"amit"];
NSLog(@"%ld", [self.arrayController.content count] );
}
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {
if( object == self.arrayController) {
...
}
}
我的实际要求是观察数组计数,但由于 Array 不符合 KVO,所以我做不到。此外,我不想继承 Array 并只向其添加一个数组属性,如其他答案所示。然后我想到了观察数组控制器。
任何线索都将受到高度赞赏。
【问题讨论】:
标签: objective-c nsarray key-value-observing nsarraycontroller