【问题标题】:Core Data with json带有 json 的核心数据
【发布时间】:2011-04-23 11:06:45
【问题描述】:

这个问题是对this question 的跟进。我正在使用位于http://code.google.com/p/json-framework/ 的 JSON 库。


我的核心数据对象模型与其自身具有多对多关系,因此,它的子对象具有一组。在 JSON 中,该集合通过对象 ID 数组表示。没有什么真正的异国情调。

当我使用解析 json 字符串获得的对象结构对托管对象调用 setValuesForKeysWithDictionary 时,我收到此异常:

*** 由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因: '-[__NSArrayM minusSet:]: 无法识别 选择器发送到实例 0x6c7b440'

如果有人能解释原因,我会全力以赴。我也收到了一些来自未定义键的异常,但这是可以理解的(JSON 包含额外的字段)并且完全可以管理。

现在我的问题是:

我是否在这里遗漏了什么,因为在另一个问题中,回答的人和 OP 没有报告任何这个问题。我可以通过覆盖setValuesForKeysWithDictionary 并在键是关系时传递来修补它并处理错误操作,但这使得代码不那么通用,我非常喜欢。

【问题讨论】:

    标签: objective-c json core-data


    【解决方案1】:

    我认为问题在于您的 JSON 反序列化正在创建数组,但托管对象对多的关系由集合表示。 IE。你需要 NSSet 而不是 NSArray。您可以通过 [NSSet setWithArray:theArray] 将 NSArray 转换为 NSSet。

    【讨论】:

      猜你喜欢
      • 2018-01-08
      • 2013-06-03
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多