0
我很怀疑采用核心数据同步解决方案,其中不清楚冲突如何解决。不幸的是,像iCloud和Simperium这样的解决方案只是声明'冲突是自动处理的',并留在那里。通常这不是足够的信息。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相关,可能是基于时间戳顺序,但是孤儿对象会发生什么?删除吗?它是否从一台设备回滚整个交易?
该对象不能孤立存在,因为该关系是必需的。