【问题标题】:Core Data: update child context核心数据:更新子上下文
【发布时间】:2015-01-18 15:14:03
【问题描述】:

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

谢谢

【问题讨论】:

    标签: ios core-data ios8


    【解决方案1】:

    如果我理解正确,您可以从上下文 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];
            }];
        }
    }];
    

    【讨论】:

    • 如果您使用 MagicalRecord,[context MR_observeContext:other] 将为您执行此操作
    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多