Ios CloudKit记录的本地缓存

Ios CloudKit记录的本地缓存,ios,swift,cloudkit,swift4,Ios,Swift,Cloudkit,Swift4,在苹果网站的CloudKit文档中有一章叫做维护CloudKit记录的本地缓存。然而,无论在哪里,在线用户都说用CloudKit存储离线数据几乎是不可能的。我是一个相对较新的iOS开发者。有没有人尝试过按照苹果的文档实施离线数据存储(在设备上) 如果你想为你的应用程序提供真正的离线数据,那么是的,你需要添加某种数据库 每次更新记录时,将其保存到数据库中,并将更新后的记录推送到CloudKit。您还可以订阅CloudKit更改,并在记录发生更改时更新本地数据库 核心数据和SQLite是常见的选项。

在苹果网站的CloudKit文档中有一章叫做维护CloudKit记录的本地缓存。然而,无论在哪里,在线用户都说用CloudKit存储离线数据几乎是不可能的。我是一个相对较新的iOS开发者。有没有人尝试过按照苹果的文档实施离线数据存储(在设备上)

如果你想为你的应用程序提供真正的离线数据,那么是的,你需要添加某种数据库

每次更新记录时,将其保存到数据库中,并将更新后的记录推送到CloudKit。您还可以订阅CloudKit更改,并在记录发生更改时更新本地数据库

核心数据和SQLite是常见的选项。我碰巧使用的是比内核数据或SQLite更简单的使用方法。我对其进行了设置,以便我的应用程序的UI仅与数据库中的脱机数据交互(以便它始终可用)。CloudKit和my Realm数据库协同工作以保持数据的最新状态,但我的UI从不试图依赖临时CloudKit记录的存在


我希望这能有所帮助。

您对存储离线数据的理解是什么?您的意思是因为设备处于脱机状态而存储数据,当您恢复联机状态时只需将数据发送到服务器,还是说脱机,我的意思是在设备上存储数据。假设我有带图片的记录,每次访问它们都需要很长时间才能加载到表视图中。因此,我需要一种机制来离线存储,并在必要时进行更新。我通常有自己的模型对象,然后当数据更改时,我会去更新
CKRecord
(每个模型对象都有一个唯一的ID,该ID对应于存储在CloudKit中的该对象的
CKRecordID
。。是否使用核心数据?我不使用,但如果使用核心数据,则不会产生任何影响