在Apple的网站上有一个名为在CloudKit文档中维护CloudKit记录的本地缓存的章节。但是,在线人们都说使用CloudKit存储离线数据几乎是不可能的。我是相对较新的iOS开发人员。是否有人尝试按照Apple的文档实现离线数据存储(在设备上)?
如果您想为应用程序提供真正的离线优先数据,那么是的,您需要添加某种类型的数据库。
每次更新记录时,将其保存到数据库并将更新的记录推送到CloudKit。您还可以订阅CloudKit更改并在记录更改进入时更新本地数据库。
核心数据和SQLite是常见的选择。我碰巧使用Realm database,我认为它比Core Data或SQLite更简单一些。我进行了设置,以便我的应用程序的UI只与数据库中的脱机数据交互(以便它始终可用)。 CloudKit和我的Realm数据库协同工作以使数据保持最新,但我的UI从不试图依赖于瞬态CloudKit记录的存在。
我希望有所帮助。