existingObjectWithID不会在子managedObjectContext中返回managedObject,为什么?

时间:2014-07-28 04:47:14

标签: core-data

1)创建托管对象,并将其保存在mocOut中的managedObjectContext中。 mocOut是主要managedObjectContext

的子级的子级
var dmo: NSManagedObject? = nil
mo = NSEntityDescription.insertNewObjectForEntityForName("xxx", inManagedObjectContext: mocOut) as? NSManagedObject
let success = mocOut.save(nil)

2)创建名为mocOut的{​​{1}}的子managedObjectContext

mocIn

为什么let mocIn = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType) mocIn.parentContext = mocOut mocIn.performBlockAndWait({ let managedObject = mocIn.existingObjectWithID(dmo!.objectID, error: nil) // <- return nil 方法返回nil?我在外部managedObjectContext中创建并保存了managedObject。

更新

在保存调用之后,我又添加了两个保存调用以保存上层MOC,也使用persistentStore保存主MOC。执行保存后,我可以看到记录写出到数据库,但existingObjectWithID方法无法在existingObjectWithID中获取记录。< / p>

0 个答案:

没有答案