多线程的核心数据

时间:2011-08-23 19:59:05

标签: ios core-data

我在主线程上有一个Core数据managedObjectContext,然后我在后台线程上创建了另一个managedObjectContext。如果后台线程有变化,我只需调用ManagedObjectDidSave通知。 我的问题是,如果我对mainthread进行了更改,我还需要告诉后台线程上的managedObjectContext吗?

我有一个用户数据类,它在主线程和后台线程上获取并设置userdata。我应该传递我正在调用此userdata类的线程的managedobject,对吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

  

我的问题是,如果我对主线程进行了更改,我还需要   告诉后台线程上的managedObjectContext对吗?

如果要让后台线程知道主线程上的任何更改,您必须注册它以获取通知。但是,通常情况下,后台线程有一些特殊的任务要处理,只是忽略主线程直到完成。

  

我有一个用户数据类,它可以在main上获取和设置userdata   和背景线程。我应该传递线程的managedobject   我正在调用这个userdata类,对吗?

是的,将managedObject保留在同一个线程上,直到合并上下文为止。