【发布时间】:2015-08-25 08:19:35
【问题描述】:
我正在私有队列中创建临时上下文,以异步更新我使用Core Data 持久保存的数据:
NSManagedObjectContext *privateContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
privateContext.persistentStoreCoordinator = appDelegate.persistentStoreCoordinator;
[privateContext performBlock: ^{
// Parse files and/or call services and parse
// their responses
dispatch_async(dispatch_get_main_queue(), ^{
// Notify update to user
});
}];
然后,一旦我获得了新数据,我需要将更改与我的主要上下文合并。我知道这是一种常见的情况,但我不确定我应该如何继续......这个 Apple 的核心数据文档section 谈到了设置合并策略,我不完全理解处理它的方法。另一方面,我发现了这个link,我的场景在它的“堆栈#2”部分中进行了描述,它所说的看起来更简单,而且它根本没有谈论合并策略......
正确或最合适的方式应该是什么?非常感谢您提供有关如何管理此场景的说明和/或简单示例。
提前致谢。
【问题讨论】:
标签: ios core-data concurrency merge nsmanagedobjectcontext