我有两个实体A和B.A与B有多对多的关系.A和B有不同的managedObjectContext contextA和contextB。我需要在上下文B中修改B的某些属性后将托管对象B添加到托管对象A,但这是不可能的,因为它们不在同一个上下文中。那么如何将contextB中的更改传递给contextA而不将其保存到persistentStore? PS。如果你想知道为什么我需要两个不同的上下文你可以通过这个链接undo all changes made in a view controller。
答案 0 :(得分:-1)
将托管对象从一个上下文复制到另一个上下文,您可以使用该对象的对象ID,如以下示例所示。
NSManagedObjectID *objectID = [managedObject objectID];
NSManagedObject *copy = [contextB objectWithID:objectID];
复制后,您可以将对象B添加到对象A。
希望这对你有所帮助。