我现在试图弄清楚我所有的核心数据都是在主线程上管理的,只有一个上下文。我使用了仪器并注意到保存操作阻塞了主线程很长一段时间。我想使用 GCD 在后台线程上运行我的保存操作
现在我了解如何通过创建新线程/上下文来设置此过程并监听“保存”通知以合并回主线程。
但是当我创建一个新上下文时,主线程上下文中的所有更改都需要插入/合并到新上下文中,否则它不会有任何可保存的东西?我似乎可以找到任何例子。
例如在我的主要背景下:
- 插入 2x 用户
- 删除了 3 个墙贴
- 更新了一些朋友关系。
现在我如何让我的背景上下文知道这些变化?
在应用程序启动时创建后台上下文并让它在主线程上监听 NSManagedObjectContextObjectsDidChangeNotification 以不断保持同步是否有意义?