我的示例应用程序中有1对多的关系,取自Core Data文档,其中一个Manager有多个员工。我得到了关于如何设置Manager-to-Employee关系删除规则的部分,但是Employee-to-Manager关系呢?如果我想要一个案例,如果所有员工都被删除,我希望管理员也被删除,我应该应用哪种删除规则? Cascade没有意义,因为如果删除了一名员工,即使他/她还有其他员工仍然关联,管理员也会被删除。 Nullify将正确删除关系,但在删除最后一名员工时不会删除管理器。 我错过了什么,或者在这种情况下我是否必须做一些自定义的事情?
答案 0 :(得分:3)
删除规则没有足够的特异性来说,“删除自我,如果关系'bobs'包含少于'x'的对象。”
相反,您应该将此类业务逻辑放在自定义NSManagedObject子类中。您可以检查Manager
类removeEmployeeObject:
和removedEmployeeObjects:
方法,该方法告诉Manager
实例在employees
关系为空时自行删除。
您还可以对此方法或willSave
方法使用验证方法。