为什么在保存主要的managedObjectContext后,existingObjectWithID
获取的managedObject的objectID仍然是临时的?
var dmo: NSManagedObject? = nil
dmo = NSEntityDescription.insertNewObjectForEntityForName(relationshipDescription.destinationEntity.name, inManagedObjectContext: mocIn) as? NSManagedObject
let success = temporaryContext.save(nil)
Utility.managedObjectContext().performBlockAndWait({
let kkk = Utility.managedObjectContext().save(nil)
})
println("isTemporaryID: \(dmo!.objectID.temporaryID)") // <- returns true
答案 0 :(得分:2)
我找到了答案here,其中说:
因为孩子没有从父母MOC获得更新。父MOC将使用永久ID更新其自己的NSManagedObject实例,但该更改不会被下推到属于子MOC的NSManagedObject的实例。