gpt4 book ai didi

ios - 核心数据 : How to use alternatively 2 persistent stores with one persistent store coordinator?

转载 作者:行者123 更新时间:2023-12-05 03:29:39 24 4
gpt4 key购买 nike

设置:
我的应用程序使用自己的数据(自己的状态)或其他用户共享的数据(共享状态),并且可以在两种状态之间切换。
该应用程序使用 Coredata 和 CloudKit 镜像:自己的数据存储在私有(private)数据库中,共享数据存储在共享数据库中。两个数据库自动同步到两个持久存储,私有(private)的和共享的,由一个持久存储协调器协调。
如果处于自己的状态,则应从私有(private)存储中获取数据并仅存储在那里。
或者,在共享状态下,数据应该从共享存储中获取并仅存储在那里。
现在可以通过适本地设置提取请求的 affectedStores 属性来仅从特定商店提取数据。
但显然不可能设置受影响的商店来保存托管对象上下文的更改。

问题:
我怎样才能实现仅将托管对象更改保存到持久存储之一?

我的想法:

  • 可以从持久性存储协调器添加和删除持久性存储,但在我看来这似乎很复杂。是否有更简单的方法将保存定向到特定的持久性存储,因为它可以用于获取请求?
  • 是否最好使用 2 个持久存储协调器,每个协调器只协调一个持久存储?

最佳答案

我只是偶然在 this post 中找到了我的问题的解决方案在“更新”下:
可以告诉托管对象上下文为所有新插入的对象分配一个保存它们的持久存储,参见 Apple docs .
因此,我可以重置相关上下文,并使用 assign(_:to:) 将保存定向到特定的持久存储。

关于ios - 核心数据 : How to use alternatively 2 persistent stores with one persistent store coordinator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70998727/

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