iPhone核心数据递归关系
Posted
技术标签:
【中文标题】iPhone核心数据递归关系【英文标题】:iPhone Core Data Recursive Relationships 【发布时间】:2009-11-16 15:54:19 【问题描述】:我在处理核心数据中的递归关系时遇到了一些问题。我有一个名为“SearchCategory”的托管对象,该类别可以有“Categories”,也可以有“Category”。在托管对象建模器中,我在 SearchCategory 实体上设置了两个关系,并且都指向 SearchCategory 实体——一个名为“Categories”并且是一对多关系。另一个是“Category”,不是对多,是“Categories”的逆。
在我的代码中,我使用“setCategoriesObject”将类别添加到搜索类别中,这似乎有效。但是,当我说[mySearchCategory setCategory:aParentCategory]
,其中mySearchCategory
将是aParentCategory
的子类别时,它似乎不需要记忆。如果我运行上面的代码,那么[managedobjectcontext save:&err]
,它实际上是把父类的主键保存到数据库中子类的“Category”字段中,但是Core Data并没有在运行时合成这个关系,所以[mySearchCategory Category]
返回零。这里有什么想法吗?
【问题讨论】:
我很难跟上你。其他每个词似乎都是“类别”。您可以添加模型的屏幕截图吗?我认为这会有所帮助。 ...请显示您正在使用的代码以及您从-[NSManagedObjectContext save:]
收到的 NSError 的确切字符串表示形式。
您的逆向关系是否设置为真正的逆向关系?如果你这样做了,那么你会看到一行只有基数箭头来指示一对一或一对多。您真的应该发布数据模型的屏幕截图。
【参考方案1】:
原来我在解释我看到的结果不正确。这种关系实际上运作良好,但我看待它的方式似乎不是。对不起,虚假的问题:(
【讨论】:
以上是关于iPhone核心数据递归关系的主要内容,如果未能解决你的问题,请参考以下文章