ios - 核心数据 : Writing Batch of Records to Disk In Background

标签 ios objective-c core-data

我有一个具有核心数据数据库的主应用程序。我在主上下文中执行应用程序的所有事件,但我创建了一个子上下文来处理后台同步,它可以向数据库添加多达 30,000 条记录。一切都很好,后台同步不会减慢主应用程序的速度,直到它真正去保存上下文,然后应用程序在几秒钟内没有响应,而 Core Data 将记录写入磁盘。

有什么方法可以解决此问题,以便大磁盘保存不会影响 UI?

最佳答案

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

关于ios - 核心数据 : Writing Batch of Records to Disk In Background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17332185/

相关文章:

ios - AVPlayer ReadyToPlay 枚举是一个未解析的标识符

ios - 在 Tableview 中,如何在 Objective C 中获取选定行的 textview 值

objective-c - 如何在 NSTextView 中绘制特定范围文本的背景

objective-c - 如何在单击按钮时以编程方式将 NSTextFields 中的值添加到核心数据中?

ios - 如何发布仅适用于 iPhone 而不是 iPad 的应用程序?

ios - 远程通知音量级别与应用程序中播放的声音不同

ios - didEnterRegion 和 startRangingForBeacons 未被调用

objective-c - 以编程方式在 iOS 中忘记/删除存储的 WiFi 网络

iOS - 核心数据自动生成模型 - 无法识别的选择器

ios - 如何在核心数据中保存单选按钮选项?