问题是仅仅是理论上的,这是一个非常罕见的用例,我只是想知道。
我有一个客户机服务器设置(CoreData、JSON、AFNetworking等)每个帐户都有成倍的读写用户。
因此,我用_lastModificationDate对每个数据库条目进行时间戳,以便以后能够同步/合并更改。
所以其中一个用户离线,把它的日期设定为2030 (自动关闭)。保存一些实体,然后上网。
20年过去了,用户没有改变任何东西。不过,这个用户的每次同步都会覆盖数据库中的数据,直到2030年。
我该怎么克服这件事?
发布于 2014-01-24 13:00:09
您可以设置一个新字段modifiedOffline (布尔值),或者在他脱机时,在每次修改时设置_lastModificationDate +1。但是,在这两种情况下,来自服务器的更新将/可能覆盖本地更新,即使它们是较新的。
另一种解决方案是:在用户联机后,应用程序将刷新_lastModificationDate,使其达到当前的最大日期(我想您可以从服务器上获取该日期)。这样,较新的修改将正常工作。
发布于 2014-01-24 14:01:21
服务器数据库可以进行正常检查。将来的修改日期在第一次遇到时被设置为当前日期。也可能是在和iPhone约会之前;-)。
https://stackoverflow.com/questions/21332921
复制相似问题