每个线程有多个NSManagedObjectContext实例可以吗?

时间:2010-06-29 22:00:20

标签: iphone core-data nsmanagedobjectcontext

每个线程必须有一个,但除此之外......你应该有更多吗?拥有更多是否有害?

例如,我很想构建我的应用程序,每个选项卡有一个NSManagedObjectContext,处理该特定选项卡上显示的整体持久存储的子集。

这样,我可以让选项卡GUI听取关于“其”上下文的通知,并忽略其他人。 Asynch网络呼叫一次只能更改一个选项卡的上下文。

(注意:不使用NSFetchController,因为iOS 3.2之前的那个类中存在主要错误,这是一个3.0+应用程序)

我是否误解了如何使用NSManagedObjectContext?如果是这样,任何人都可以指出使用其他NSManagedObjectContext实例的“好”/“坏”原因吗?

更新:这适用于离散上下文,但是当我尝试推断在一组数据上使用多个上下文时,为了处理临时更改,这一切都非常错误:c.f。关于该主题的问题:How to make/use temporary NSManagedObjects?

1 个答案:

答案 0 :(得分:0)

有可能,是的,但请注意,您必须妥善处理它们并确保在上下文之间没有陈旧数据。