我有一个使用API​​的iPhone应用程序。在API调用中,有一个返回的JSON字典包含3个数组,每个数组都包含一组字典。

这是我的使用方式:

NSMutableDictionary * allthethings [self FetchAllTheThings]; // Returns the big dictionary

NSMutableArray * oneofthethings = [NSMutableArray arrayWithArray: [allthethings valueForKey:@"First"]];


等等等

然后,当我遍历“ oneofthethings”数组并在其中一个字典上设置新值时,我得到了SIGABRT,这大概是因为其中包含的字典是不可变的。

所以我的问题是:有没有办法告诉数组将它们存储为可变数据?还是我必须循环遍历并将每个词典复制到可变的模拟物中?

最佳答案

我认为您将不得不创建一个可变的副本。 Nsdictionary有一个mutableCopy方法可以简化它,但是您可以想象一下,如果调用很多

10-08 06:04