我有一个NSManagedObject实例,它代表我的应用程序中的一个用户。我保留这个实例并在视图控制器之间传递它以便引用该接口。用户实例所属的托管对象上下文(MOC)是主队列MOC,它是直接保存到持久存储的专用队列MOC的子项。让NSManagedObject保持最新状态同时保留它
我的核心数据持久存储在后台更新在单独的背景队列中。这些更新被保存到专用队列MOC中,然后被提交到主专用队列MOC,并随后保存到持久存储中。
我的问题是,我怎么能确保用户NSManagedObject实例将保持最新?我意识到refreshObject:mergeChanges:的存在,但是,设置一个NSManagedObjectContextDidSaveNotification
观察者来让对象实例保持最新似乎很复杂。当试图让多个NSManagedObject实例保持最新时,我可以看到这种方法变得不稳定。
当你说'唯一ID',你的意思是'NSManagedObject#objectID'?或者你在你的实体中插入额外的,特定于服务器的ID? –
@LeviMcCallum我唯一用objectID的时候,就是我想要在两个不同的MOC之间转移;由于您无法自行处理托管对象,因此您必须通过对象ID获取新对象。 – RonLugge