我在核心数据中的递归关系方面遇到了一些麻烦。我有一个名为“SearchCategory”的托管对象,该类别可以有“Categories”,也可以有“Category”。在托管对象建模器中,我在 SearchCategory 实体上设置了两个关系,并且都指向 SearchCategory 实体 - 一个名为“Categories”并且是一对多关系。另一个是“Category”,不是对多的,是“Categories”的倒数。
在我的代码中,我使用“setCategoriesObject”将类别添加到搜索类别中,这似乎有效。但是,当我说[mySearchCategory setCategory:aParentCategory]
wheremySearchCategory
将是 的子类别时aParentCategory
,它似乎不想记住记忆。如果我运行上面的代码,那么[managedobjectcontext save:&err]
它实际上是把父类的主键保存到数据库中子类的“Category”字段中,但是Core Data在运行时并没有合成这个关系,所以[mySearchCategory Category]
返回nil。这里有什么想法吗?