database - 维护和更新IOS客户端与服务器之间的脱机更改的最佳方法是什么?

标签 database grails restkit

我已经实现了一个iOS应用程序,该应用程序将restkit与coredata一起使用,并将grails后端与SQL一起使用。只要有网络连接并且只要服务器已启动并运行,我就可以使用“获取”和“发布”部分。

我正在使用服务器分配的ID作为核心数据中的主键来同步对象。如果我允许用​​户在脱机或服务器出现问题时创建或更新对象,那么维护状态并在以后更新服务器的最佳方法是什么?我想知道这方面的最佳做法。

提前致谢!!

最佳答案

我已经以几种方式解决了这个问题,尽管这不是一个简单的任务。

首先,我向所有Core Data模型添加了NSAttribute来跟踪它们的状态(即,是否应通过POST或PUT请求将其发送到服务器)。然后,我监视了可达性通知(RestKit通过RKReachabilityObserver公开了这些通知),并将已使用适当方法修改的对象发送到服务器。我用于此目的的代码可以在here中找到(但已过时,不应直接使用)。

我设计的第二种方法是创建一个Core Data实体,该实体本质上是一个队列,并且模型中的更改已注册在队列中,并在网络可用时与服务器同步。在撰写本文时,它已经可以在github上进行讨论了,目前还没有经过全面的测试,而是here it is

关于database - 维护和更新IOS客户端与服务器之间的脱机更改的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9321223/

相关文章:

mysql - 删除表的外键约束错误

java - 使从数据库中的删除和从文件系统中的删除成为事务性的?

ios - 如何在没有管理器的情况下使用 RestKit 0.20.0 设置基本身份验证?

SQL:每队下一场比赛的休息时间最少

php - Angular - $http.delete 返回成功但不起作用

eclipse - 如何在不直接访问 Internet 的情况下为 Eclipse/STS 安装 Groovy 和 Grails 插件?

grails - 阻止 Grails 在 Controller 中生成某些方法?

objective-c - 在 Restkit iOS 中解析没有对象映射的 JSON

ios - RestKit 0.20 : mapping complex dynamic nested JSON

ruby-on-rails - Ruby on rails - 参数数量错误(2 为 1)[Rails]