核心数据删除所有关系实体

Core data delete all relationship entity

假设我有核心数据和三个实体:部门、员工、库存 所以每个部门可以有更多的员工,每个员工可以有更多的物品记录为库存。

Department <--->> Employee <---->> Inventory

现在假设,我们有方法 (service,...) return 部门的新员工列表。(假设这很快就会发生。)

逻辑是删除特定部门Employee的所有实例,然后插入新的。

最好的方法是(对我来说),我可以做类似的事情:

 let employees_local = myDepartment.employees
 if let employees = employees_local {
      myDepartment.removeEmployees(employees)
 }

但这(以我的理解)只是删除了这些对象之间的关系,并没有删除所有这些对象。

我知道删除所有实体的解决方案(删除所有员工) 喜欢:this post, or this one.

我什至知道我可以从 ios 9 开始批量删除。 Like here

我的问题是,是否有更快/更好的方法来做到这一点。不应该有一种方法,让您告诉核心数据删除所有与父对象没有关系的对象吗?

使用您在上面看到的示例链接为 "this one"。

如果您使用谓词通过检查与 Department 的关系是否为 nil 来过滤 Employees,那么 return 就是您想要的数据项。那我建议你可以全部删除。