2011-07-13 16 views
8

私は1対多の関係を持っていて、ちょうどいくつかのことを真似しようとしています。私がA <からの関係を設定すると、>> Bはすべて素晴らしいですし、好きなように動作します。しかし、私は関係を変更したい場合は、すべてをクリアし、いくつかの異なるBを追加する(私が以前にしたより)、私はnullifyまたはカスケードを使用して削除するか?関係のためにコアデータでカスケードを使用するか無効にする必要がありますか?

また、どのように私はこれについて行くかもしれないかの簡単な例を私に与えることができますか?

私は[b setValue:nil forKey:myRelationship]

のようなものを考えていたが、そのどこにも近いですか?それとも別のものが必要ですか?

ありがとうございました。

答えて

16

これらのリレーションシップタイプは、管理対象オブジェクト自体を削除するときに適用され、リレーションシップをクリアしません。したがって、 'a'を 'b'、 'c'、 'd'にリンクしている場合は、 'a'を削除すると

  • の関係が 'cascade'、 'b' 'c'と 'd'もすべて削除されます。
  • 'nullify'の場合は、これらのオブジェクトで 'a'の関係がクリアされます。

[b setValue:nil for Key:myRelationship]を使用すると、両方の関係をクリアすることができます。

関連する問題