2

我有一个使用 Core Data 作为存储的通用 iPhone/iPad 应用程序。我想让用户能够在两个设备(iPhone、iPod 和 iPad)之间同步他们的数据。

是否有执行此操作的示例应用程序或代码?

4

2 回答 2

1

您只需要编写一个常规的 Core Data 应用程序,并且作为一个与 Core-Data 无关的一般问题,找出一种在两个联网设备之间打包和交换数据的好方法。

一种方法是使用 JSON 或 XML 来封装在两个设备之间同步的 Core Data 实体数据。您可以在两个设备上运行 Web 服务器来交换 JSON 或 XML 封装的数据。

当 Web 服务器接收到请求和数据包时,它会向 Core Data 存储添加一个新实体,就像任何其他本地应用程序一样。

只需在“JSON”、“XML”和“Web 服务”上搜索 Google 或您最喜欢的搜索引擎。有许多第三方 Objective-C 框架用于处理 JSON 和 XML,以及用于发出和接收 Web 请求。

于 2010-05-15T11:36:58.567 回答
0

重新提出这个问题:新实体的插入是否保留了其他持久存储中存在的关系?例如:

用户在 iPhone 上设置了与实体 B 有关系的实体 A(反之亦然)。用户将应用程序与 iPad 版本(没有数据)同步 - 成功完成同步的唯一方法是插入一个新实体 A 和 B,其属性和关系是从同步的实体“复制”的。由于您现在已经将新的托管对象插入到新的持久存储中,iPad 应用程序是否会设置正确的关系?

Core Data 文档清楚地表明,两个托管对象不能属于多个持久存储,并建议插入具有相同数据的新对象。但是,我担心这样做不会正确配置关系。

于 2010-07-08T18:17:00.583 回答