加入/联合两个NSManagedObjectContexts

时间:2014-03-08 03:21:54

标签: objective-c core-data nsmanagedobjectcontext

我有一个主要NSManagedObjectContext包含一些实体,另一个背景NSManagedObjectContext包含与主NSManagedObjectContext相同的对象。我将一些对象添加到后台NSManagedObjectContext(可能存在于主NSManagedObjectContext中),基本上我想要的是能够加入两个NSManagedObjectContext实例,从而制作CRUD(创建,从NSManagedObjectContext个实例的对象读取更新和删除,以便它们以1:1的形式镜像。

这可能吗?

1 个答案:

答案 0 :(得分:1)

NSManagedObjectContext个实例只是便笺簿。它们都指向相同的基础NSPersistentStoreCoordinator。因此,当您在一个-save:中致电NSManagedObjectContext时,NSPersistentStoreCoordinator会更新,您可以将这些更改检索到另一个NSManagedObjectContext

如果您的“背景”NSManagedObjectContext是您的“主要”NSManagedObjectContext的孩子,那么只需在后台-save:上调用NSManagedObjectContext就会导致主NSManagedObjectContext }自动更新。这是父/子设计的好处之一。

在任何情况下,NSManagedObjectContext实例只是暂时保存。保存时,这些更改都会转到同一个地方; NSPersistentStoreCoordinator