0

ObjectB と 1 対多の関係を持つ ObjectA があります。ObjectB は、ObjectA と逆の 1 対 1 を持っています。[objectA.objectBSet removeAllObjects]Set 内にある ObjectB のインスタンスの逆の関係が呼び出されると壊れることに気付くまで、すべてうまくいっているようです。mogeneratorツールから取得した(と思う) objectBのobjectA.objectBSet単なるものです(それが違いを生む場合)。NSMutableOrderedSet

これは可能ですか、それとも何か間違っていますか? 親のセットからオブジェクトを削除するだけで、CoreData から自動的にその逆関係の値に影響を与えることができるのでしょうか?

どうもありがとう

4

2 に答える 2

1

これが機能するはずの方法です。2 つの関係が逆である場合、それらはすべてのオブジェクトで互いに一貫している必要があります。ObjectAのインスタンスとの関係をすべて削除するように に指示するとObjectB、それらのObjectBインスタンスもその との関係を削除しObjectAます。それが逆の関係がどのように機能するかです。ObjectBインスタンスがまだインスタンスに関連していると主張している場合ObjectA、逆の関係は矛盾した状態になります。

何らかの理由でこれが必要ない場合は、 と の間の関係を使用してくださいObjectA。これは互いに逆でObjectBはありません。

于 2013-05-23T15:53:12.263 に答える
0

はい、Set からオブジェクトを削除すると、CoreData は逆の関係を無効にします。または、objectB.objectA = nil を実行すると、objectA のセットから objectB も削除されます。

于 2013-05-23T15:47:23.560 に答える