2011-07-22 3 views
4

私のサンプルアプリケーションでは、1つのManagerに複数の従業員がいるCore Dataのドキュメントから1対多の関係があります。私は、マネージャと従業員の関係の削除ルールを設定する方法については分かりますが、従業員とマネージャの関係はどうですか?すべての従業員が削除された場合、Managerを削除したい場合は、どのような削除ルールを適用する必要がありますか?カスケードは理にかなっていません。ある従業員が削除された場合、他の従業員が依然としてリンクしていても、マネージャは削除されるためです。 Nullifyはリレーションシップを正しく削除しますが、最後の従業員が削除されてもManagerは削除されません。 何か不足していますか?この場合、何かカスタムを行う必要がありますか?コアデータ - 逆削除ルール...どちらを適用する必要がありますか?

答えて

3

削除ルールには、「関係「bobs」に「x」個のオブジェクトが含まれていないと自己を削除する」という意味がありません。

代わりに、このようなビジネスロジックをカスタムNSManagedObjectサブクラスに配置する必要があります。 ManagerクラスremoveEmployeeObject:removedEmployeeObjects:メソッドにチェックを入れて、の関係が空の場合にManagerインスタンスに自身を削除するよう指示することができます。

このメソッドまたはwillSaveメソッドの検証方法を使用することもできます。

関連する問題