微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在同一个sqlite数据库上使用两个NSPersistentCloudKitContainer是否合法?

如何解决在同一个sqlite数据库上使用两个NSPersistentCloudKitContainer是否合法?

我正在构建一个具有共享扩展程序的iOS应用程序,主应用程序和扩展程序都使用Core Data将数据持久保存到同一sqlite数据库(位于App Groups容器中)。我现在在App和共享扩展中都使用了“标准” NSPersistentContainer(不是NSPersistentCloudKitContainer)。我的理解是,即使我的App和我的共享扩展程序同时运行,这也不是问题/法律架构...

现在,我计划使用NSPersistentCloudKitContainer将数据同步到iCloud。由于以下原因,我一直在努力使用正确的(合法)体系结构:

如果我在我的应用程序和共享扩展程序中都将“标准” NSPersistentContainerNSPersistentCloudKitContainer交换,我将遇到以下情况-如果应用程序和共享扩展程序同时运行-两个容器都将在同一sqlite商店同时与云进行通信...这似乎有些危险,除非苹果公司当然考虑了这种情况,但我无法从文档中得出结论。 / p>

问题1:这是NSPersistentCloudKitContainer的合法体系结构/预期用途吗?

如果没有,

问题2:在主应用程序中使用NSPersistentCloudKitContainer在共享扩展名中使用标准NSPersistentContainer是合法的体系结构吗?当然,当应用程序也未运行时,我将不会从扩展中获取同步,但是……我主要关心的是,是否可以从中初始化两种不同类型的持久性容器(standard和cloudKit)相同的sqlite数据库...不仅仅是容器初始化将一些数据写回到数据库中,以便它被“指定”用于配置/容器使用,在那之后我不能只是更改容器的配置/类型...?

感谢帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。