目标C:更新NSMutableDictionary的密钥值?

时间:2012-04-09 23:18:41

标签: objective-c xcode cocoa osx-lion nsmutabledictionary

我有一个NSMutableDictionary,最初设置了键和值。 后来我需要更新某些键的值,我想我只需要做 [mutableDict setValue:val forKey:key],但这会引发异常说:

[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object

我做错了什么? (我在可变字典的每个键里面都有另一个可变字典,但我不认为这就是原因)

1 个答案:

答案 0 :(得分:2)

我会复制粘贴我的评论只是因为你要保持100%接受

保罗。

  

出于某种原因,您实际上使用的是NSDictionary而不是NSMutableDictionary。很难说为什么没有更多的代码,也许你正在使用通过调用copy获得的副本,或者你已经从plist / userDefaults加载了字典..我们可以看到更多的代码吗?

丹尼斯

  

@ Paul.s是的,我确实复制了一个NSMutableDictionary。那会是为什么吗?如果是,那么我还应该用什么来复制?

Paul.s

  

使用mutableCopy而不是copy来获取可变字典

丹尼斯

  

@ Paul.s哦......对此并不了解。我是Objective-C的新手,我试图搜索我做错了但我错过了它:(谢谢!!