私はコアデータと3つのエンティティを内部に持っています:Department、Employee、Inventory すべての部門に従業員数が増え、すべての従業員が在庫として記録できる項目を増やすことができます。コアデータがすべての関係エンティティを削除します
は、今、私たちは部門の従業員の新しいリストを返すメソッド(サービスを、...)持っていることを、言って横たわっていた。(これはすぐに起こった可能性があることを前提としましょう。)
ロジックは、我々であります特定のDepartmentのEmployeeのインスタンスをすべて削除し、新しいDepartmentを挿入します。
最良の方法は、私はそのような何かを行うことができること、(私にとっては)次のようになります。
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)」についてはどうですか?あるいは、「従業員」のすべてを取得し、それをフィルタリングして削除することもできます。 –