2017-03-21 105 views
1

假設我有核心數據和三個實體內部:部門,員工,庫存 因此,每個部門可以有更多的員工,每個員工可以有更多的記錄爲庫存的項目。核心數據刪除所有關係實體

​​

現在還是說,我們有方法(服務,...)返回員工的部門的新名單。(讓我們假設,這可能很快發生了。)

的邏輯是,我們刪除特定部門的員工的所有實例,然後插入新部門。

最好的方法是(對我),我可以做這樣的事情:

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

但是這(在我的理解)只刪除這些對象之間的關係,並沒有刪除所有這些對象。

我知道的解決方案,你刪除所有類型的實體(刪除所有員工) 如:this postthis one

我甚至知道我可以從ios 9上進行批量刪除。 Like here

我的問題是,有沒有更快/更好的方法來做到這一點。不應該有辦法,你告訴核心數據刪除所有對父項沒有關係的對象嗎?

+0

怎麼樣:'myDepartment.employees?.forEach(moc.delete)'?或者你可以獲取所有'Employee',過濾它並刪除它們。 –

回答

1

使用上面查看的示例鏈接爲「this one」。

如果您通過檢查與Department的關係爲零來過濾僱員的謂詞,那隻會返回所需的數據項。那麼我建議你可以刪除所有這些。

+0

是的,我想過這個。我正在尋找更簡單的解決方案。 –

相關問題