Objective c 使用json的核心数据

Objective c 使用json的核心数据,objective-c,json,core-data,Objective C,Json,Core Data,这是一个后续问题。我正在使用位于的JSON库 我的核心数据对象模型本身有一个多对多关系,因此,它的子对象有一个集合。在JSON中,集合通过对象ID数组表示。没有什么真正的异国情调 当我使用解析json字符串得到的对象结构对托管对象调用setValuesForKeysWithDictionary时,我收到以下异常: ***由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因: '-[\uu NSArrayM minuset:]:无法识别 选择器已发送到实例

这是一个后续问题。我正在使用位于的JSON库


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

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

***由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因: '-[\uu NSArrayM minuset:]:无法识别 选择器已发送到实例0x6c7b440'

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

现在我的问题是:


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

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