这个问题只是理论上的,真的是一个罕见的用例,我只是想知道。
我有一个客户端-服务器设置(CoreData、JSON、AFNetworking 等),其中每个帐户都有多个读写用户。
因此,我使用 _lastModificationDate
为每个数据库条目添加时间戳,以便以后能够同步/合并更改。
因此其中一位用户离线,将日期设置为 2030 年(关闭“自动设置”)。保存 - 所以时间戳为 2030 - 某个实体,然后上线。
20 年过去了,用户没有改变任何东西。尽管如此,该用户的每次同步都会覆盖数据库中的数据,直到我们过了 2030 年。
我该如何克服这个问题?
最佳答案
您可以设置一个新字段 modifiedOffline
( bool 值),或者,当他离线时,在每次修改时设置 _lastModificationDate
+1。但是,在这两种情况下,来自服务器的更新将/可能会覆盖本地更新,即使它们更新。
另一种解决方案是:在用户上线后,应用程序会将 _lastModificationDate
刷新为最大当前日期(我假设您是从服务器获取的)。这样,较新的修改将正常工作。
关于ios - iPad 处于离线状态,日期设置为 2030 年,用户保存实体,现在使用基于时间戳的同步怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21332921/