NSMutableDictionary添加和删除KVO
我有一个关于KVO的简单问题。 我明白,如果需要观察添加物,对于NSArray,您可以执行以下操作。
NSIndexSet* set = [NSIndexSet indexSetWithIndex:[someIndex integerValue]];
[self willChange:NSKeyValueChangeInsertion valuesAtIndexes:set forKey:@"theArrayName"];
// add the objects at the specified indexes here
[self didChange:NSKeyValueChangeInsertion valuesAtIndexes:set forKey:@"theArrayName"];
在注册观察时,您将得到一个更改了字典的索引。
但是,我不明白我如何观察添加到NSMutableDictionary的新对象。 有没有办法观察对象添加/删除?
谢谢,
[编辑]我找到了满足我目前需求的解决方案。 我希望以下对未来的开发者有所帮助。
[self willChangeValueForKey:@"someDictionary" withSetMutation:NSKeyValueUnionSetMutation usingObjects:[NSSet setWithObject:someObject]];
[Images setObject:someObject forKey:someIndex];
[self didChangeValueForKey:@"someDictionary" withSetMutation:NSKeyValueUnionSetMutation usingObjects:[NSSet setWithObject:someObject]];
只是为了确保问题得到解答。 信贷转到@DoubleDunk
[self willChangeValueForKey:@"someDictionary" withSetMutation:NSKeyValueUnionSetMutation usingObjects:[NSSet setWithObject:someObject]];
[Images setObject:someObject forKey:someIndex];
[self didChangeValueForKey:@"someDictionary" withSetMutation:NSKeyValueUnionSetMutation usingObjects:[NSSet setWithObject:someObject]];
链接地址: http://www.djcxy.com/p/8303.html