应用程序允许个人用户输入字段并保存在他们的设备上
Name of hotel
Location of hotel
Type of Hotel
还有一些附加功能,例如他们是否发现酒店服务好或坏。
现在我的问题出现了,因为我希望某些信息(例如酒店名称及其位置)对所有在最喜爱的酒店部分安装该应用程序的用户可见
核心数据中是否有任何选项允许我这样做,否则我将需要在 cloudkit 上工作,问题是,如果我在 cloudkit 上工作,这是否会使 coredata 不再适用于项目?
最佳答案
首先,让我们澄清一下 CoreData 和 CloudKit 之间的关系,因为这对于您的问题和答案都很重要。
CoreData 是一个持久性框架(工具!),允许您将数据保存在设备本地。 CoreData 并不用于共享数据。它旨在供用户保存数据,并具有 Apple 为隐私设计的所有安全功能。
CloudKit 是一个持久性框架(工具!),允许您在 Apple 云中远程保存数据。由于它是远程保存的,因此能够允许不同的设备和用户访问数据。
CoreData 可以在 Xcode 中自动使用 CloudKit 设置,允许用户将数据保存到本地设备存储,并自动备份到云端。这允许用户在一台设备上保存数据,如果他们在另一台设备上使用该应用程序,则可以访问保存的数据。
但是,CoreData 在与 CloudKit 一起使用时,至少当您需要自动同步时,会实现一个特殊的“区域”,在 iOS14 之前该区域是不可共享的。这很棒,但实际上,您需要清楚地概述私有(private)数据库中有哪些数据以及您想要共享的数据。您需要在应用中解决其他注意事项和复杂情况,例如配置编辑控件,以便用户不会尝试编辑他们无权访问的内容。
您的问题听起来像是您只想与其他人共享用户存储的部分数据。此外,共享数据听起来像是许多用户数据(如评级)的聚合。在这种情况下,最好使用某些后端程序处理该数据并将其作为单独的 CloudKit 共享提供。理由是,您不会希望要求用户下载数百、数千、数万条用户评论,并为每个需要的人每次处理它们。
关于ios - coredata 是否可以允许某些字段在应用程序的用户之间共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63474004/