0

Core Dataモデルでは、エンティティAは、削除ルールがに設定されたエンティティBとの関係を持っていCascadeます。オブジェクトBは、が呼び出されるとすぐに削除されます[context deleteObject:A]か、それとも、オブジェクト検証の場合のように、CoreDataは[contextsave:&error]メソッドを待機しますか?

Aを削除した後、コンテキスト内でBを検索し、関係を確立するオブジェクトCを作成できるかどうか疑問に思います。それはBが削除されるのを防ぎますか?

乾杯、エリックポール。

4

1 に答える 1

2

「削除済み」は単なる状態です。ユーザー(またはアプリ)が保存するときにその状態がどのように維持されるかは、実装の詳細です。ファイルが閉じられておらず、状態が失われている場合でも、保存後に元に戻すことができます。

AインスタンスのBインスタンスをAの別のインスタンスに移動する場合は、最初のAインスタンスを削除するに関係を変更する必要があります。そうしないと、カスケードルールによってBが使用されます(正確な定義に従って)ルールの動作)。削除されると(直接またはカスケードルールによって)、削除されます。検索では、削除されたBは表示されません。

したがって、AのBを保持する場合は、元のAを削除する前に、Bを別のAに割り当てます。それ以外の場合は、新しいAの新しいBを作成する必要があります。

于 2011-02-14T17:05:47.217 に答える