Ios 删除具有自反关系的规则

Ios 删除具有自反关系的规则,ios,core-data,rule,Ios,Core Data,Rule,我有一个Xcode项目,核心数据中只有一个实体(“项”),并且建立了自反关系,这样每个项都可以与许多其他项建立关系。我已经根据文档建立了关系(或者两个关系,或者一个与之相反的关系是合法的,我使用后者),并且在我删除一个与另一个项目有关系的项目之前,所有这些都非常有效。如果我为关系选择“级联”删除规则,则不会出现崩溃,所有功能都会按预期运行。但是,如果我使用的是我真正想要使用的“Nullify”删除规则,我会崩溃 我假设,即使我使用的是自反关系,当删除一个项时,核心数据也会遍历并将所有关系另一端对

我有一个Xcode项目,核心数据中只有一个实体(“项”),并且建立了自反关系,这样每个项都可以与许多其他项建立关系。我已经根据文档建立了关系(或者两个关系,或者一个与之相反的关系是合法的,我使用后者),并且在我删除一个与另一个项目有关系的项目之前,所有这些都非常有效。如果我为关系选择“级联”删除规则,则不会出现崩溃,所有功能都会按预期运行。但是,如果我使用的是我真正想要使用的“Nullify”删除规则,我会崩溃

我假设,即使我使用的是自反关系,当删除一个项时,核心数据也会遍历并将所有关系另一端对该项的所有引用设置为null。还是我必须伸手去手动操作?我想我不该这么做

或者可能是FetchedResultsController的“操作顺序”问题

在这件事上我完全没有主意了。由于过去几周苹果的问题,我一直无法得到他们的支持

我没有发布代码,因为其中有很多代码,而且对于我正在构建的这个简单测试示例,大部分代码都是模板/锅炉板代码。

更新:

经过更多的测试和记录,核心数据和删除规则不再是问题所在。“Nullify”在对象被删除后,与该对象可能具有的任何关系完全一样工作。问题出在“获取结果”控制器中

必须在某个地方引用该对象,但该对象未被释放。创建关系时除外。它与关系有关,因为如果没有关系,对象总是会毫无问题地删除

当异常断点打开时,它会在configureCell中中断:当它尝试在特定索引路径访问fetchedResultsController的对象时

NSManagedObject*object=[self.fetchedResultsController对象索引路径:indexPath]

如果没有异常断点,则会出现以下错误:

CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获异常。这通常是NSManagedObjectContextObjectsIDChangeNotification的观察者中的错误。*-[\u PFBatchFaultingArray objectAtIndex:]:索引(3)超出了用户信息(null)的界限(3)

如果我在configureCell之外注释所有代码:单元格将无法正确显示,但我无法使其崩溃。一切都很完美


叹气。

你在反身关系中有循环吗?谢谢你的回答。不,没有循环使用我的关系。