【问题标题】:How to add one more object and key to an existing NSDictionary? [duplicate]如何向现有的 NSDictionary 添加一个对象和键? [复制]
【发布时间】:2014-05-24 13:25:50
【问题描述】:

我有一个来自解析的 json 数据的 NSDictionary,我想将所有对象和键保留在该字典中,并且还想将另一个键值对添加到同一个字典中。 我怎样才能做到这一点? 提前感谢您的帮助。

【问题讨论】:

  • 将其转换为可变字典,然后您可以向其添加更多对象。
  • 代替寻找合适的副本:NSMutableDictionary *mutableDictionary = [dictionary mutableCopy]; mutableDictionary[key] = object; dictionary = [mutableDictionary copy];

标签: objective-c nsdictionary


【解决方案1】:

在 NSJSONSerializer 中,查看可以传递给解析器的 NSJSONReadingOptions

有一个 NSJSONReadingMutableContainers 使解析器返回可变容器。所以你得到一个 NSMutableDictionary 而不是 NSDictionary,然后它只是 NSMutableDictionary 的基本用法。

【讨论】:

  • 我快速浏览了一下,它确实使返回的对象成为可变对象。在我的测试中,我使用id 声明了该对象,并在之后得到了它的类:__NSDictionaryM
【解决方案2】:

您不能修改 NSDictionary - 您需要使用您拥有的 NSDictionary 中的对象创建一个 NSMutableDictionary,然后使用 setObject:forKeysetValue:forKey 在 NSMutableDictionary 中添加新对象及其键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2019-07-03
    • 2012-01-21
    • 2018-01-04
    • 1970-01-01
    相关资源
    最近更新 更多