iOS 9.0之后如何在我自己的后台队列中访问managedObjectContext

时间:2016-01-13 20:43:33

标签: ios objective-c core-data concurrency

我意识到在初始化NSManagedObjectContext时核心数据,NSConfinementConcurrencyType在iOS 9.0之后已弃用。我希望在我自己的后台队列中以并发= 1访问NSManagedObjectContext。我知道privateQueueConcurrencyType的Moc将创建自己的队列来执行代码并合并到父Moc,这似乎不是什么我想要。 (mainQueueConcurrencyType将在主队列上运行代码,这不是我想要的)

无论如何,我可以管理核心数据以在我自己的后台队列中运行吗?

1 个答案:

答案 0 :(得分:1)

NSConfinementConcurrencyType已弃用。这意味着你不应该使用它。

你有两个选择。

  1. 在主队列中访问NSMainQueueConcurrencyType的MOC。

  2. 从您想要的任何主题访问NSMainQueueConcurrencyTypeNSPrivateQueueConcurrencyType的MOC,但使用performBlockperformBlockAndWait API。

  3. 我强烈建议您使用performBlock API。

    此外,使用NSPrivateQueueConcurrencyType的MOC不需要使用父/子关系。