2017-03-21 19 views
1

私はコアデータと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

私の質問は、これを行うより速く/より良い方法がありますか?親に関係のないすべてのオブジェクトを削除するようにコアデータに指示する方法はありませんか?

+0

「myDepartment.employees?.forEach(moc.delete)」についてはどうですか?あるいは、「従業員」のすべてを取得し、それをフィルタリングして削除することもできます。 –

答えて

1

上記の例を使用して、「this one」とリンクしています。

Departmentとの関係をチェックして従業員をフィルタする述語を使用すると、必要なデータ項目だけが返されます。それから私はそれらのすべてを削除することをお勧めします。

+0

はい、私はそれについて考えました。私は簡単な解決策を探していました。 –

関連する問題