Ios NSMangedObjectContext在后台执行锁定问题

Ios NSMangedObjectContext在后台执行锁定问题,ios,swift,core-data,nsmanagedobjectcontext,dispatch-async,Ios,Swift,Core Data,Nsmanagedobjectcontext,Dispatch Async,我读这篇文章是为了在后台将对象保存在核心数据数据库中 在文章的最后,他们有以下代码在后台保存数据: [temporaryContext performBlock:^{ // do something that takes some time asynchronously using the temp context 我知道如果我们使用performBlock操作将异步完成,但在哪个队列中?我是否需要像这样将其放在后台线程中: dispatch_async(dispatch_get_glo

我读这篇文章是为了在后台将对象保存在核心数据数据库中

在文章的最后,他们有以下代码在后台保存数据:

[temporaryContext performBlock:^{
   // do something that takes some time asynchronously using the temp context
我知道如果我们使用
performBlock
操作将异步完成,但在哪个队列中?我是否需要像这样将其放在后台线程中:

dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), { () -> Void in
            temporaryContext.performBlock({ () -> Void in

            })
        })
或者可以使用:

temporaryContext.performBlock({ () -> Void in

                })
temporaryContext.performBlock({ () -> Void in

})
使用以下各项就足够了:

temporaryContext.performBlock({ () -> Void in

                })
temporaryContext.performBlock({ () -> Void in

})
您的代码将在与临时上下文关联的队列中调用。临时上下文是一个NSManagedObjectContext,它有自己的专用队列(NSPrivateQueueConcurrencyType)