核心数据:在背景中将记录批量写入磁盘

时间:2013-06-26 23:36:52

标签: ios objective-c core-data

我有一个主应用程序,它有一个核心数据库。我正在主要上下文中执行应用程序的所有活动,但是我创建了一个子上下文来处理可以向数据库添加多达30,000条记录的后台同步。一切都运行良好,后台同步不会降低主应用程序的速度,直到它实际保存上下文,然后当Core Data将记录写入磁盘时,应用程序几秒钟没有响应。

有没有办法解决此问题,以便大型磁盘保存不会影响用户界面?

1 个答案:

答案 0 :(得分:2)

您可以通读this link来了解有关在后台保存核心数据记录的更多信息。从本质上讲,您的主要上下文是执行实际写作的背景上下文的子项。这样,您的主线程不会被阻止将内容写入磁盘。但是,在从背景上下文合并/导入更改时,可能会暂时阻止它。