在一对多关系中,删除最后一个成员时是否有删除所有者的删除规则?

时间:2016-01-25 01:19:00

标签: core-data

我在Core Data中有一对多的关系。例如,A-> B,其中A是部门,B是雇员。一个部门可以有很多员工,一个员工只能有一个部门。

我设置了A->(casacade) - > B,所以如果删除A,所有B都将被删除。

相反,我也可以删除B.在我删除最后一个B的情况下,是否有删除规则以便自动删除A?或者我必须以编程方式删除A?我应该注意什么?

1 个答案:

答案 0 :(得分:1)

在我们的图书https://www.objc.io/books/core-data/的示例应用中,我们正好展示了这个用例。

基本上你要做的是覆盖prepareForDeletion(删除对象时会调用它)。在那里,您要检查未删除的数组或对象组是否为空:

此处某个国家/地区public override func prepareForDeletion() { guard let c = continent else { return } if c.countries.filter({ !$0.deleted }).isEmpty { managedObjectContext?.deleteObject(c) } } 检查其(父级)大陆是否还有未删除的国家/地区:

FIXME