Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 9.0之后如何在我自己的后台队列中访问managedObjectContext_Ios_Objective C_Core Data_Concurrency - Fatal编程技术网

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

iOS 9.0之后如何在我自己的后台队列中访问managedObjectContext,ios,objective-c,core-data,concurrency,Ios,Objective C,Core Data,Concurrency,我意识到,当您初始化一个NSManagedObjectContext时,NSConfinementConcurrencyType在iOS 9.0之后被弃用。我想在我自己的后台队列中访问并发性为1的NSManagedObjectContext。我知道privateQueueConcurrencyType的Moc将创建自己的队列来执行代码并合并到父Moc,这似乎不是我想要的。(mainQueueConcurrencyType将在主队列上运行代码,这也不是我想要的) 我是否可以管理核心数据以在自己的后

我意识到,当您初始化一个
NSManagedObjectContext
时,
NSConfinementConcurrencyType
在iOS 9.0之后被弃用。我想在我自己的后台队列中访问并发性为1的
NSManagedObjectContext
。我知道
privateQueueConcurrencyType
的Moc将创建自己的队列来执行代码并合并到父Moc,这似乎不是我想要的。(
mainQueueConcurrencyType
将在主队列上运行代码,这也不是我想要的)


我是否可以管理核心数据以在自己的后台队列中运行

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

你有两个选择

  • 在主队列上访问
    NSMainQueueConcurrencyType
    的MOC

  • 使用
    performBlock
    performBlockAndWait
    API,从所需的任何线程访问
    NSMainQueueConcurrencyType
    NSPrivateQueueConcurrencyType
    的MOC

  • 我强烈建议使用
    performBlock
    API

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