我怀疑采用核心数据同步解决方案,其中不清楚如何解决冲突。不幸的是,像iCloud和Simperium这样的解决方案只是声明“冲突会自动处理”,并留在那里。通常这不是足够的信息。
举一个具体的例子,假设您有一个包含实体A和B的应用程序,它们之间具有一对一的关系。想象一下,这种关系是非选择性的。
从完全同步的商店和两个相关对象A_0和B_0开始,device1创建一个名为B_1的新B对象,并将A_0与B_1相关联。它删除了B_0。
同时,设备2也会删除B_0,但会创建一个名为B_2的新对象,并将其与A_0相关联。
这种情况将如何解决?据推测,A_0最终将与B_1或B_2相关,可能基于时间戳顺序,但孤立对象会发生什么?删除吗?它是否从一台设备回滚整个交易?
对象不能孤立存在,因为这种关系是必需的。
答案 0 :(得分:0)
我很遗憾地说,目前,关系必须标记为可选。我们有here的票证。
使用最新版本的lib(0.6.2),会发生什么:
希望有所帮助!