我正在使用核心数据观察 iOS 中的一个奇怪错误。基本上,我的设置如下 - 有 2 个 NSManagedObjectContextstempContext
和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];
现在,在插入 [4] 之后,如果我检查newEntity.property1
,它被设置为nil
。但是,如果我在 [3] 之后检查属性,然后在 [4] 之后检查该属性,它会正确显示为“SomeProperty”。我不明白强制故障在这里应该如何产生影响。
我的目标只是将实体从一个上下文移动到另一个上下文。