两个managedObjectContext和一个managedObject

时间:2012-05-03 06:00:50

标签: iphone ios nsmanagedobject nsmanagedobjectcontext nsundomanager

我有两个实体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

1 个答案:

答案 0 :(得分:-1)

将托管对象从一个上下文复制到另一个上下文,您可以使用该对象的对象ID,如以下示例所示。

NSManagedObjectID *objectID = [managedObject objectID];

NSManagedObject *copy = [contextB objectWithID:objectID];

复制后,您可以将对象B添加到对象A。

希望这对你有所帮助。