【发布时间】:2012-03-08 02:04:57
【问题描述】:
我正在尝试使用 KVO 观察字典的变化。
例子:
dictionary = [NSMutableDictionary new];
[dictionary setObject:@"test1" forKey:@"key1"];
[dictionary setObject:@"test2" forKey:@"key2"];
[dictionary setObject:@"test3" forKey:@"key1"];
我希望能够在每次向字典中添加值时挂钩观察者。删除或替换(即在上述情况下,只要调用任何 setObject 方法)
总之: 我想要一个函数有
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
当我在字典中添加任何新条目、删除任何条目或替换任何条目时调用。
NOT:我不想指定我正在观察哪些键。 (例如,仅在添加 @"key1" 时观察)因为此解决方案无法扩展。
【问题讨论】:
-
如果你观察字典上的
@"@count"键会发生什么? -
没有。没用。如果我将 @"@count" 替换为 @"key2" 它可以工作,但这不是一个通用的解决方案。
标签: objective-c key-value-observing