我有两个实体A和B。A 与 B 有对多关系。A 和 B 具有不同的 managedObjectContext contextA 和 contextB。在上下文 B 中修改 B 的某些属性后,我需要将托管对象 B 添加到托管对象 A,但这是不可能的,因为它们不在同一上下文中。那么,如何将上下文 B 中的更改传递给上下文 A,而不将其保存到 persistentStore?如果你想知道为什么我需要两个不同的上下文,你可以运行这个链接撤消在视图控制器中所做的所有更改。
将托管对象从一个上下文复制到另一个上下文,可以使用对象的对象 ID,如以下示例所示。
NSManagedObjectID *objectID = [managedObject objectID];
NSManagedObject *copy = [contextB objectWithID:objectID];
复制后,可以将对象 B 添加到对象 A。
希望这对你有帮助。