私は、コンテナとアイテムのエンティティを持つコアデータモデルを持っています。コンテナには0個以上のアイテムがあることができます。項目は、少なくとも1つの容器に属している必要があります(それは、複数にすることができます。)コアデータ削除多対多リレーションシップのルール
関係は次のようになります。コンテナが削除された場合に
Container:
Relationship: items, Destination: Item, Inverse: itemContainers
Optional, To-Many Relationship
Delete Rule: Nullify
Item:
Relationship: itemContainers, Destination: Container, Inverse: items
Not-Optional, To-Many Relationship
Delete Rule: Cascade
問題が発生します。そのコンテナ内のItemオブジェクトは更新されますが、項目が1つのコンテナのみに存在する場合、itemContainersプロパティはオブジェクトなしのセットです。空のセットがitemContainersのItemのnot-optional設定に違反するため、オブジェクトグラフを保存できません。
もちろん、itemContainers。@ count == 0のようなNSPredicateを使用して空のitemContainersを持つItemオブジェクトを見つけるのは簡単ですが、自動的にこれを行うようにモデルを設定する方法があるはずです。
もっと簡単な方法がありますか?