【发布时间】:2017-08-12 18:45:53
【问题描述】:
假设我有核心数据和三个实体:部门、员工、库存 所以每个部门都可以有更多的员工,每个员工都可以有更多的物品记录为库存。
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
我的问题是,有没有更快/更好的方法来做到这一点。不应该有办法告诉核心数据删除所有与父级没有关系的对象吗?
【问题讨论】:
-
怎么样:
myDepartment.employees?.forEach(moc.delete)?或者您可以获取所有Employee,过滤并删除它们。
标签: ios swift core-data cascading-deletes batch-delete