据UIManagedDocument的文档中简单地提到,UIManagedDocument,后台线程和
支持异步数据写入父上下文,核心数据实际使用一对嵌套的管理对象上下文。
这是特定于UIManagedDocument或核心数据总是这样做吗?
同一份文件还指出,
如果合适的话,你可以从后台线程直接加载数据到父上下文。
这是否意味着,在下面的代码
NSManagedObjectContext *moc = self.managedObjectContext;
[moc performBlock:^() {
Record *record = [NSEntityDescription
insertNewObjectForEntityForName:@"Record"
inManagedObjectContext:moc];
}];
我应该简单地替换第一线由
NSManagedObjectContext *moc = self.managedObjectContext.parentContext;
来实现这一目标?
我想我也很困惑它会直接使用这个父上下文是“合适的”。我的意思是,这听起来像performBlock是用来卸载任务到后台队列。为什么我需要混淆父上下文?
如果有人为我澄清这一切,我将不胜感激。