2

我目前正在开发一个使用核心数据并希望使用 iCloud 的应用程序。我有一个问题 - 我的应用程序有一个配置文件实体,一切都属于它。

我想将此与 iCloud 同步,以便它也适用于他们的其他设备,例如 iPad。但是,我有一个问题,并在以下场景中进行了描述:

方案 1

用户将他们的 iPhone 用于我的应用程序。创建一个配置文件并使用它一段时间。然后他们得到一台 iPad,第一次在没有网络的情况下使用我的应用程序 - 该应用程序会提示他们创建个人资料。(用户这样做并没有真正想到我已经这样做了)。然后他们第二天通过网络打开应用程序 - 他们现在是我的个人资料实体中的 2 个对象,有效地用于同一个人。

我将如何解决这种情况?以下是一些想法,但我有点困惑从哪里继续

  • 选项 1 是检查他们是否启用了 iCloud - 并提示他们以前使用过这个应用程序吗?
  • 选项 2 观察配置文件对象并将两者合并在一起(冒险的举动)
  • 选项 3 不要使用 iCloud -(真的不想这样做)

任何提示或想法都会很棒。

4

2 回答 2

0

您可以通过使用可用于核心数据的删除方法来避免在配置文件实体中插入重复记录。在配置文件实体中插入数据之前调用删除,这将删除重复条目并插入新条目。

于 2012-12-14T11:25:05.690 回答
0

您真的希望能够处理#2。除了您概述的场景之外,这两个设备还有其他各种不同步的方式。

也就是说,您可以在检测到两组竞争数据时,询问用户他们想要保留哪一组。不过,这对用户很不利——人们通常不喜欢做出涉及破坏一堆新创建的数据的选择。

于 2012-12-16T19:12:25.657 回答