我在核心数据中使用递归关系时遇到了一些麻烦。我有一个名为“SearchCategory”的托管对象,该类别可以包含“类别”,也可以包含“类别”。在托管对象建模器中,我在SearchCategory实体上设置了两个关系,并且都指向SearchCategory实体 - 一个名为“Categories”并且是一个多对多关系。另一个是“类别”,不是一个多对多,而是“类别”的反转。
在我的代码中,我使用“setCategoriesObject”将类别添加到searchcategory,这似乎有效。但是,当我说[mySearchCategory setCategory:aParentCategory]
,其中mySearchCategory
将是aParentCategory
的子类别时,它似乎不想占用内存。如果我运行上面的代码,然后运行[managedobjectcontext save:&err]
,它实际上将父类别的主键保存到数据库中子类别的“类别”字段,但是核心数据在运行时不会合成此关系,所以[mySearchCategory Category]
返回nil。有什么想法吗?
答案 0 :(得分:0)
原来我正在解释我看错的结果。这种关系实际上是正常的,但我看待它的方式似乎并非如此。抱歉这个假的问题:(