基本上,我想实现SYNC功能;如果互联网连接不可用,数据将存储在本地 sqlite 数据库中。只要互联网连接可用,SYNC 就会开始工作。
现在,举个例子;本地存储5条记录,然后可以连接互联网。我想更新服务器。所以,我目前所做的是:
- 将第一条记录发布到服务器。
- 等待第一个请求成功。
- 将本地 NSNotification 发送到例程,表明第一条记录已在服务器上更新,现在可以进行第二个请求。
- 例程会在服务器上触发第二个 post 请求,依此类推...
问题:这种方法是否正确且有效,足以实现 SYNC 功能?或者我应该改变什么??
注意:要同步的记录数量没有限制。
最佳答案
这取决于您保存的数据的要求。如果只是为了备份那么应该没问题。 如果这 5 条记录在某种程度上相互依赖,并且您需要从另一个设备/应用程序访问此数据,则您应该在服务器端注意,要么全部 5 条记录都被写入,要么没有。否则,如果只写入 3 个,就会出现不一致的状态。 如果其他用户也在服务器上同时读取/写入这些数据,那么您需要在写入之前对所有记录实现某种锁定,并决定当有人试图覆盖其他人的更改时如何处理冲突。
关于iphone - NSMutableURLRequest 继承另一个 NSMutableURLRequest 的成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14810234/