gpt4 book ai didi

ios - 在 "display"MOC 中更改 NSManagedObject 时在 "scratchpad"MOC 中更新它们

转载 作者:行者123 更新时间:2023-11-29 13:06:11 28 4
gpt4 key购买 nike

假设我有一个显示 MOC,用于显示从 Web 服务获取的地址簿联系人。在应用程序的其他地方,我有一个搜索功能,可以根据用户输入的查询搜索 Web 服务,我获取这些对象并将其存储在暂存器 MOC 中,这样它就不会“污染”显示 MOC 提供的显示。

现在假设用户修改了暂存器 MOC 中的联系人。我想将这些更改同步到显示 MOC 中的任何等效对象(如果存在)。我不希望将更改的对象添加到显示 MOC 中,如果它还不存在的话,我希望更改也以另一种方式工作(比如如果用户更改显示 MOC 中的联系人,它应该在暂存器 MOC 中更改,但前提是那里已经存在等效对象)。我不希望任何一个 MOC 都因为对象更新而添加对象。让暂存器 MOC 成为显示 MOC 的子级听起来像是错误的解决方案。

确保不同 MOC 中的等效对象保持同步而不更改任何其他 MOC 中对象的补充的最佳模式是什么?

最佳答案

这就是 NSManagedObjectContextDidSaveNotification 的目的。每当上下文保存更改时,都会自动发布此通知以及有关更改内容的信息。观察此通知,并使用 mergeChangesFromContextDidSaveNotification: 方法将保存在一个上下文中的更改合并到另一个上下文中。

关于ios - 在 "display"MOC 中更改 NSManagedObject 时在 "scratchpad"MOC 中更新它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18579785/

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