gpt4 book ai didi

ios - 如何重新获取 NSManagedContext 中存在的对象

转载 作者:行者123 更新时间:2023-11-28 21:00:43 25 4
gpt4 key购买 nike

我使用 NSManagedObject 实例创建了 UIViewController,我们称它为 AA 已从 mainContext 中获取。

在项目的其他部分,某种进程使用 backgroundContext 更新了 NSPersistedContainer。在此更新期间,A 更改了状态。

从第一段更新 UIViewController 的最佳方式是什么。如何重新获取 A 以更新 mainContext 中现有的 NSManagedObject

最佳答案

处理将在一个上下文中所做的更改合并到另一个上下文的正确方法是:

  1. NSManagedObjectContextDidSave 通知添加观察者。
  2. 发布此通知后,使用 mergeChanges(fromContextDidSave notification: Notification) 从保存操作中所做的更改更新您的上下文。您只需传递 Notification,合并就会发生,您的对象也会被刷新。

另一种方法是为您的对象使用 refresh(_ object: NSManagedObject, mergeChanges flag: Bool)。为第二个参数传递 true 以合并来自持久存储的更改。这可能不太好,因为它只影响单个对象而不是上下文中的所有对象,但在某些情况下它很有用。

关于ios - 如何重新获取 NSManagedContext 中存在的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49114496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com