我正在更新本地Core Data驱动的应用以支持iCloud。我预计的一个挑战是我称之为“库存对象” - 应用程序在首次启动时提供的种子数据,99%的用户将自定义。
股票对象
Item A
Item B
自定义对象
Tomatoes
Potatoes
如果用户第一次在新设备上启动应用程序,我认为默认行为是重新创建将与iCloud持久存储中的自定义对象合并的库存对象(Item A,项目B,西红柿,土豆),导致用户体验混乱。
一种方法可能是在首次启动时同步检查iCloud数据,如果存在,则不创建库存对象。但是,用户可能在首次启动时处于脱机状态,然后在第二次启动时,本地库存对象与iCloud自定义对象的相同不合需要的合并将会发生。
有没有办法为iCloud合并添加逻辑,以便来自云(西红柿和土豆)的自定义对象的到达可以指示我在它们被传送之前删除本地库存对象(项目A和项目B)? / p>
谢谢!
答案 0 :(得分:0)
为什么不通过不提供种子对象来避免这种情况?只需提示用户通过UI在首次启动时输入自己的对象。问一下,如果她之前使用过该应用程序,并说明在重新创建对象之前等待从iCloud同步可能会付出代价。
答案 1 :(得分:0)
我不确定这是否是最好的方法,但这就是我正在做的事情: