core-data を使用して、iOS で奇妙なバグを観察しています。基本的に、私のセットアップは次のとおりです- 2 つの NSManagedObjectContexts がtempContextあり、mainContext. tempContextエンティティを作成および編集するための一時的な「スクラッチパッド」として使用し、それらを保存する場合は、に移動しmainContextて保存します。mainContextは の親ではないことに注意してくださいtempContext。
移動は次のように行われます-
[1] newEntity.property1 = @"SomeProperty";
newEntity.managedObjectContext // this is tempContext currently
[2] saveEntityInTempContext
[3] newEntity = (Entity *)[mainContext objectWithID:newEntity.objectID];
[4] [mainContext insertObject:newEntity];
さて、insert[4] の後、 にチェックを入れるnewEntity.property1と に設定されていnilます。しかし、[3]の次にプロパティを確認し、[4]の後にプロパティを確認すると、正しく「SomeProperty」と表示されます。ここでフォールトを強制することでどのように違いが生じるのかわかりません。
私の目標は、エンティティをあるコンテキストから別のコンテキストに移動することです。