我有2个NSMutableDictionaries,每个内部有5个NSArray,

这2个NSMutableDictionaries具有完全相同的5个键和NSArray,但内容不同,

我只需要用另一个NSMutableDictionary的数组替换2个数组
所以

dic1 = dic2; //isn't a solution...will replace all the contents of the one to the other...


我需要可以用另一个相同键替换特定键的对象的东西。

我试过了

[dic1 setObject:[dic2 objectForKey:@"key1"] forKey:@"key1"];
[dic1 setObject:[dic2 objectForKey:@"key2"] forKey:@"key2"];


我收到错误消息:尝试插入nil值(键:key1)'

最佳答案

该错误仅表示[dic2 objectForKey:@"key1"]返回nil值。换句话说,该键在字典中不存在。同样,您不能在NSDictionary内部设置nil值,因此这就是发出错误的原因。

打印出每个字典,并确保您的键/值符合您的期望。您可以使用NSLog或仅使用断点暂停程序,然后在控制台中输入po dic1

10-06 13:26