iOS 9 上的核心数据并发

Posted

技术标签:

【中文标题】iOS 9 上的核心数据并发【英文标题】:Core Data Concurrency on iOS 9 【发布时间】:2015-10-18 14:35:08 【问题描述】:

如果我使用NSMainQueueConcurrencyType 在主线程上创建NSManagedObjectContext,我必须对所有saveperformFetch 方法使用performBlock() 方法。 IE是否可以做到以下几点:

do 
    managedObjectContext.save()
 catch let error as NSError 
    print(error)

或者我应该总是这样做:

managedObjectContext.performBlock(
    do 
        managedObjectContext.save()
     catch let error as NSError 
        print(error)
    
)

如果我正确理解了文档,我总是必须使用 performBlock()performBlockAndWait() 但在 XCode 7 的模板代码中它们没有使用块。任何帮助表示赞赏!

【问题讨论】:

【参考方案1】:

如果你已经在主线程上并且有一个NSMainQueueConcurrencyType 上下文,你确实不需要需要使用performBlock

【讨论】:

以上是关于iOS 9 上的核心数据并发的主要内容,如果未能解决你的问题,请参考以下文章

核心数据,使用啥并发模型?

ios(9.3) 中的核心数据在哪里?

仅 IOS 8 中的核心数据迁移问题,而不是 IOS 9

Java集合详解9:2021年的hashmap面试题怎么考?涵盖性能优化扩容并发问题等核心考点

使用 NSArray 从 iOS 上的可转换核心数据创建对象

客户端 (iOS) 上的核心数据缓存来自服务器策略的数据