2015-11-13 56 views
2

我是新来的ios开发人员(或一般的移动客户端开发人员)。我有后端数据库,每当我的模型从客户端更新时需要更新。我还将数据保存在离线/缓存的核心数据中。保存核心数据或保存后端数据库,应该先完成?

我想知道在更新核心数据和后端数据时是否可以引导我学习最佳实践。现在,我所做的是使用Alamofire发送http请求,然后在成功回调中更新核心数据,然后客户端重新加载核心数据以显示更新已完成。但是这似乎没有效率,因为我必须等到请求完成。在另一方面,如果我只是继续和更新的核心数据,并更新后端数据在后台显示结果到用户后,请求可能会失败......

回答

0

Store中lastChangedlastSynchronised日期每个对象上。每当您对同步对象进行更改时,都会更新lastChangedlastSynchronised更新来自服务器的成功响应。

现在,当您进行更改时,您知道它是否同步,因此它是否变脏或是对已脏对象的另一更新。

当您有互联网连接时,您可以找到所有脏对象并尝试同步它们。

唯一的复杂性是正在进行同步时应用的更新。你需要注意,你没有一个应该被弄脏但是被标记为同步的对象。这可以通过在同步过程中'锁定'对象来完成,也可以通过比较服务器响应和成功对象以验证匹配来完成。