2011-10-21 10 views

答えて

8

関係を有効にしたの削除ルールによって異なります。 Core Data Programming Guideにはこれらの文書(以下に抜粋)が記載されています。インスペクタであなたの関係に設定したオプションを確認してください。あなたがコメントしたい特定のデータモデルを持っているなら、あなたの質問をより具体的に編集するべきです。

拒否関係先に少なくとも一つのオブジェクトがある場合、ソース・オブジェクトは削除できません。たとえば、部門を削除する場合は、その部門のすべての従業員が最初に他の部門に移管されていることを確認する必要があります。そうしないと、部門を削除できません。

Nullify

宛先のオブジェクトの逆関係をnullに設定します。たとえば、部門を削除する場合は、現在のすべてのメンバーの部門をnullに設定します。これは、従業員の部署関係がオプションである場合、または次の保存操作の前に従業員ごとに新しい部門を設定した場合にのみ意味を持ちます。

カスケード

は、関係先のオブジェクトを削除します。 たとえば、部門を削除すると、その部門のすべての従業員を同時に解雇します。

アクションなし

リレーションシップ先のオブジェクトに対して何もしません。たとえば、部門を削除する場合は、その部門に属すると考えていても、すべての従業員をそのまま残します。

+1

必ず逆関係を使用してください。私たちはこれらを持たないコードでデータモデルを生成し、nullifyを使用していても問題に終わりました。 – huesforalice

+0

偉大な点 - データモデルエディタがそこに提示されたときに逆関係を作成するのは簡単ですが、コードで直接作業している場合は非常に簡単に忘れてしまう可能性があります。 –

関連する問題