假设我有核心数据和三个实体:部门,员工,库存 因此,每个部门都可以拥有更多员工,每个员工都可以拥有更多作为库存记录的项目。
Department <--->> Employee <---->> Inventory
现在说,我们有方法(服务,...)返回部门员工的新列表。(假设这可能很快发生。)
逻辑是我们删除特定部门的所有Employee实例,然后插入新的实例。
最好的方法是(对我来说),我可以这样做:
let employees_local = myDepartment.employees
if let employees = employees_local {
myDepartment.removeEmployees(employees)
}
但是这(在我的理解中)只删除那些对象之间的关系而不删除所有这些对象。
我知道您删除所有实体的解决方案(删除所有员工) 例如:this post或this one。
我甚至知道我可以从ios 9上进行批量删除。 Like here
我的问题是,是否有更快/更好的方法来做到这一点。不应该有办法,你告诉核心数据删除父母没有关系的所有对象吗?
答案 0 :(得分:2)
使用您在上面看到的示例链接为“this one”。
如果使用通过检查与Department的关系为nil来过滤Employees的谓词,则只返回所需的数据项。然后我建议你删除所有这些。