1

エラーが発生しています...

Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Illegal attempt to establish a relationship 'part' between objects in different contexts

Partオブジェクトとオブジェクトのフェッチのコンテキストを追跡しましたがSelection、それらは 100% 同じコンテキストから来ています。

それから辞書を使って...

@{
    @"part" : thePart,
    @"name" : @"Some name",
    @"value" : @"Some value"
}

そして機能は…

Selection *selection = [Selection insertInManagedObjectContext:self.innerContext];
[selection setValuesForKeysWithDictionary:dictionary];

self.innerContextPart オブジェクトの取得に使用したものと同じコンテキストです。同じオブジェクトによって所有されています。

すべてが機能するはずなので、これを超えてチェックするために何ができるかわかりませんか?

編集

わかりました、ここで何が起こっているのかよくわかりません。

選択を保存するpart.managedObjectContextnil...

???

4

1 に答える 1

1

私はそれを仮定してSelectionおり、PartNSManagedObjects です。

もしそうなら、私はmanagedObjectContextプロパティをthePartチェックすることから始めselectionます. もし同じだったら、ちょっと困惑します。それらが異なる場合は、それらのオブジェクトがフェッチ/作成される方法を再確認します。

いずれかmanagedObjectContextが nil の場合、それはオブジェクトの 1 つがその管理対象オブジェクト コンテキストから削除されたことを示しています。

于 2013-10-02T12:56:57.120 に答える