核心数据:更新子上下文

Core Data: update child context

如果我有一个 NSManagedObjectContext 和它的两个子对象,一个用于在后台从 Web 服务更新 (A),另一个用于 UI 线程中的操作 (B),问题是: 一旦后台上下文 (A) 更新了新信息并将其保存到父上下文中,如何通知 NSManagedObjectContext B 有关父托管对象上下文的更改?

谢谢

如果我没理解错的话,你可以从上下文 B 中观察到 DidSaveNotification。像这样:

self.observer = [[NSNotificationCenter defaultCenter] addObserverForName:NSManagedObjectContextDidSaveNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
    NSManagedObjectContext *notMoc = [note object];
    if (![weakSelf.managedObjectContext isEqual:notMoc]) {
        [weakSelf.managedObjectContext performBlock:^{
            [weakSelf.managedObjectContext mergeChangesFromContextDidSaveNotification:note];
        }];
    }
}];