Objective c 目标C:更新NSMutableDictionary的键值?
我有一个NSMutableDictionary,最初设置了键和值。 后来我需要更新某些键的值,我想我只需要这样做 [mutableDict setValue:val forKey:key],但这会引发一个异常,表示:Objective c 目标C:更新NSMutableDictionary的键值?,objective-c,xcode,cocoa,osx-lion,nsmutabledictionary,Objective C,Xcode,Cocoa,Osx Lion,Nsmutabledictionary,我有一个NSMutableDictionary,最初设置了键和值。 后来我需要更新某些键的值,我想我只需要这样做 [mutableDict setValue:val forKey:key],但这会引发一个异常,表示: [__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object 我做错了什么? (我在可变字典的每个键中都有另一个可变字典,但我不认为这就是为什么)我将复制粘贴我的评论,只要你想让你10
[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object
我做错了什么?
(我在可变字典的每个键中都有另一个可变字典,但我不认为这就是为什么)我将复制粘贴我的评论,只要你想让你100%接受 保罗
出于某种原因,您实际上使用的是NSDictionary,而不是NSMutableDictionary。很难说为什么没有更多的代码,可能您正在使用通过调用copy获得的副本,或者您已经从plist/userDefaults加载了字典。。我们能看更多的代码吗 丹尼斯
@是的,我的确抄了一本词典。这就是为什么?如果是,那么我还应该用什么来复制 保罗 使用可变副本而不是复制来获取可变字典 丹尼斯
@保罗:哦。。我不知道。我是Objective-C的新手,我试图寻找我做错了什么,但我错过了:(谢谢!)
由于某些原因,您实际上使用的是
NSDictionary
而不是NSMutableDictionary
。很难说为什么没有更多的代码,可能您使用的是通过调用copy
获得的副本,或者您已经从plist/userDefaults加载了字典。我们可以看到更多的代码吗?@Paul.s是的,我确实复制了NSMutableDictionaryy、 这就是原因吗?如果是,那么我还应该使用什么来复制?使用mutableCopy
而不是copy
来获得一个可变的dictionary@Paul.s哦..我不知道。我是Objective-C的新手,我试图寻找我做错了什么,但我错过了:(谢谢!!