当核心数据与iCloud同步时,偶尔会出现所有记录都翻倍的情况。我认为这是在重新安装应用程序时发生的,应用程序尚未同步数据,创建了一个新的数据集,然后iCloud同步并且每个模型的每个记录都有两个。
有没有办法防止这种行为?现在我正在加载和同步数据时检查每个模型是否重复,但这似乎很混乱和不专业。
有没有办法防止这种行为?现在我正在加载和同步数据时检查每个模型是否重复,但这似乎很混乱和不专业。
iCloud异步传输设备之间的数据,添加数据到iCloud容器和实际传输之间可能会有相当长的时间。元数据传输速度更快,但即使如此,也可能会有相当大的延迟。
这很重要的原因是您永远无法在一个设备上进行测试,以确保数据尚未添加到iCloud。一个设备可能已经种植了数据,但尚未开始上传其文件/元数据。此时,第二个设备无法知道来自第一个设备的种子数据。
苹果公司的建议是在每次合并后去重处理数据。每个设备只需添加自己的种子数据,如果发现已经添加了两次,就删除其中一半,并确保在每个设备上删除相应的对象。
这种方法可以解决问题,但感觉有点像黑客行为。我的Ensembles框架中使用的另一种方法是为您的对象提供全局标识符,以便同步框架可以自动导入和合并种子数据。这是Ensembles采取的方法,它使得种子数据变得更加容易和不那么临时。