背景线程上的Singleton DataStore

时间:2014-01-25 13:06:55

标签: objective-c singleton nsmanagedobjectcontext background-thread

我创建了一个访问数据存储区并返回表示Core Data实体的对象的单例类。这在普通线程中很好,但我担心从后台线程上运行的另一个类访问这个单例方法,因为后台线程将使用自己的托管对象上下文副本运行。

当尝试从后台线程调用单例时,我是否需要创建单例的新实例并传入后台线程的托管对象上下文副本,或者我可以安全地访问单例方法并允许它使用它是从应用程序委托内部检索的共享托管对象上下文吗?

1 个答案:

答案 0 :(得分:2)

让您的数据管理员课程使用performBlock:performBlock:andWait:

进行所有相关的核心数据通话

这样,调用将始终以线程安全的方式进行。

然而,就个人而言,我通常编写我的数据管理器,以便在主线程上调用它,并且它负责在任何有意义的线程上进行任何进一步的调用。