CoreData Concurrency - 在线程之间传递的模型属性

时间:2014-02-02 18:29:06

标签: objective-c core-data concurrency thread-safety nsmanagedobjectcontext

我正在尝试使我现有的Core Data应用程序更具UI响应性。 出于这个原因,我想将我的核心数据处理的一部分移到后台。 我用并发类型“NSPrivateQueueConcurrencyType”创建了第二个managedContext。 我已经读过,我无法在2个线程之间传递managedContexts和managedObjects。 我正在使用包含UUID(来自CoreBluetooth)的NSStrings来识别存储的对象。 我在我的应用程序中多次移动这些字符串。 我已经多次注意到我的整个UI被完全阻止(没有大的CPU使用/如果UI被阻止,CPU使用率下降到0%)。我认为他们的某个地方与CoreData的东西陷入僵局,因为如果我将我的代码还原为不再使用并发,一切都运行正常。

现在我的问题是,是否允许将我的CoreData模型中的属性从一个线程传递到另一个线程。 我是否必须传递managedObjectID而不是我的标识字符串?

非常感谢您的帮助

Linard

0 个答案:

没有答案