【问题标题】:CoreData in the background后台核心数据
【发布时间】:2015-09-19 23:59:39
【问题描述】:

所以到目前为止,我一直在主线程中使用 CoreData。我想要实现的是创建一个单独的后台线程并在那里完成所有 CoreData 工作。我已经阅读了很多关于 CoreData 的内容,但是所有后台解决方案似乎都比我实际需要的要复杂。我唯一需要的是能够在不阻塞 UI 的情况下从 CoreData 进行读写。我不在乎写入或读取发生的速度有多快,因此如果对 CoreData 有 100 个读取请求,让它们等待并缓慢执行,主要思想是不要阻塞 UI。在众多 CoreData 多线程方法中,解决该问题的最佳方法是什么?

我已经准备好所有功能,我只想让它在其他线程上运行(但不是主线程)。而且它不像在另一个线程上调度它那么容易(因为我试过了)

【问题讨论】:

    标签: objective-c multithreading core-data grand-central-dispatch nsmanagedobjectcontext


    【解决方案1】:

    您可以尝试的最简单的方法是让您的主 MOC 成为私有队列后台 MOC 的子 MOC。这将允许-save: 在后台发生。读取将花费相同的时间。 -save: 是您必须协调的两阶段保存。第一次保存从主 MOC 到后台 MOC。第二次保存将在后台线程上将数据推送到持久存储。

    【讨论】:

      猜你喜欢
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      相关资源
      最近更新 更多