如何使用 CloudKit 指定在哪个核心数据配置上创建新记录

How to specify on which Core Data Configuration to create a new record using CloudKit

假设我有一个使用 CloudKit + 核心数据同步的应用程序。

我的用例是:

为此:

我的实体是:“Entity1”和“Entity2”。

我的配置是:“Config1”和“Config2”。两者都有 entity1entity2 并且都是“usedWithCloudKit”.

在我的 coreDataStack 中,我有 2 个描述。第一个用于 Config1,第二个用于 Config2,具有“databaseScope = .public

通过这样做,如果用户在应用程序中保存了一些东西,该记录将出现在私有数据库中。

如果我通过 iCloud 仪表板手动向 public 数据库添加内容,用户将获取这些内容。

到目前为止一切顺利。

现在,如果我是管理员,我如何指定我的保存将转到 public 数据库而不是私人数据库?

我通过以下方式做到了:

assign(_ object: Any, to store: NSPersistentStore)