Apple 网站上的 CloudKit 文档中有一章名为 Maintaining Local Cache of CloudKit Records。然而,各地的在线人士都表示,使用 CloudKit 存储离线数据几乎是不可能的。我是相对较新的 iOS 开发人员。是否有人尝试按照 Apple 的文档实现离线数据存储(在设备上)?
最佳答案
如果您想要为您的应用提供真实的、离线优先的数据,那么是的,您需要添加某种数据库。
每次更新记录时,将其保存到数据库并将更新的记录推送到 CloudKit。您还可以订阅 CloudKit 更改并在记录更改出现时更新本地数据库。
Core Data 和 SQLite 是常用选项。我碰巧使用 Realm database ,我认为它比 Core Data 或 SQLite 更易于使用。我对其进行了设置,以便我的应用程序的 UI 仅 与数据库中的离线数据交互(以便它始终可用)。 CloudKit 和我的 Realm 数据库协同工作以保持数据最新,但我的 UI 从不尝试依赖暂时性 CloudKit 记录的存在。
希望对您有所帮助。
关于ios - CloudKit 记录的本地缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47087938/