我有一个 iOS 应用程序,它为一些事件加上时间戳并将它们加载到 UI 中。为了持久化数据,我使用了 CloudKit,这对于我的用例来说非常好且足够快。
第一个问题是,当事件发生时,我会立即将其保存到 cloudkit,因此如果无法访问互联网,我必须处理这种情况。我的想法是拥有一个本地 sqlite 数据库并跟踪连接并手动处理同步。这是第二个问题出现的地方,其中数据的任何不一致都必须由我处理(例如,如果用户在离线时编辑数据)。
我发现 YapDatabase 库在做确切的事情,但我觉得学习曲线有点陡峭。
另一个想法可能是使用 sqlite db,但将文件保存在 icloud 驱动器中。这样,当我可以访问应用程序 sqlite 时,它将自动持久化。db 表中的任何更改都将更改文件签名并触发 icloud 驱动器同步。
最好的选择是什么?