iphone - 将 NSDictionary 转换为可变

标签 iphone objective-c cocoa-touch cocoa

我有一个使用 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/

相关文章:

ios - key 更改后的 RLMException - 已使用不同的加密 key 打开

ios - performSelector:withObject:afterDelay:不排队选择器

iphone - drawRect 导致滚动缓慢,即使它没有被调用

cocoa-touch - 如何将 subview 上触摸事件的坐标转换为其父 View 中的坐标?

iphone - 如何在iphone中实现下拉框?

iPhone - PushMeBaby 示例错误

objective-c - NSScrollView isFlipped 问题

iphone - MPMoviePlayer 完成按钮问题

iphone - Mapkit:仅在当前 View 中显示注释

iphone - 无法设置图片