7
我有一個關於KVO的快速問題。我明白,如果需要觀察添加物,對於NSArray,您可以執行以下操作。NSMutableDictionary添加和刪除KVO
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]];
+1。好問/答。你應該在你的問題中發佈你嵌入的答案作爲答案。您目前正處於「未答覆」列表中。對於你自己的問題發佈一個答案實際上是鼓勵SO的。提出一個問題,你已經知道答案並立即發佈答案後也會受到鼓勵(假設這個問題是其他人也可能遇到的問題)。 – Sam