我正在制作一个需要在离线和在线模式下运行的应用程序(在Swift中)。当它处于离线模式时,数据将本地存储在CoreData上。一旦检测到网络(在线),它就应该与服务器同步并更新后端数据库。应该怎么做呢。有图书馆或豆荚吗?
我见过this post但没有什么是可行的。它太高了,我不知道从哪里开始。我看过Ray Wenderlich的这个链接,但不知道如何翻译成Swift。
任何教程链接也会有所帮助
答案 0 :(得分:9)
向您的BOOL
添加新的 attribute
CoreData Entity
,并将其命名为synched
。这基本上将存储每个对象的同步状态。
现在您必须检查互联网连接。 Refer to this link
每当您拥有互联网连接时,只需使用获取请求中的以下CoreData
从NSPredicate
获取对象:
let isSynchedPredicate = NSPredicate(format: "synched = %@", false)
现在您可以使用您的Web服务来同步和更新所有提取的对象到服务器。成功上传后,请勿忘记将synched
属性更改为true