我有一个使用 API 的 iPhone 应用程序。在 API 调用中,有一个返回包含 3 个数组的 JSON 字典,每个数组都包含一组字典。
这是我的使用方法:
NSMutableDictionary * allthethings [self FetchAllTheThings]; // Returns the big dictionary
NSMutableArray * oneofthethings = [NSMutableArray arrayWithArray: [allthethings valueForKey:@"First"]];
等等等等
然后,当我循环遍历“oneofthethings”数组并在其中一个字典上设置新值时,我得到一个 SIGABRT,大概是因为其中包含的字典不可变。
所以我的问题是:有什么方法可以告诉数组将它们存储为可变的吗?或者我是否必须循环遍历它并将每个字典复制到可变的模拟中?
最佳答案
是的,您必须循环遍历可变集合并使其所有成员可变。我建议您修改 FetchAllTheThings
方法以返回包含已可变成员的集合。
关于iphone - 将 NSDictionary 转换为可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7658466/