0

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

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

4

1 回答 1

2

让您的数据管理器类使用performBlock:或进行所有相关的核心数据调用performBlock:andWait:

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

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

于 2014-01-25T13:18:46.210 回答