【问题标题】:Core Data sync between iPhone and iPadiPhone 和 iPad 之间的核心数据同步
【发布时间】:2010-05-15 11:14:34
【问题描述】:

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

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

【问题讨论】:

    标签: iphone ipad core-data sync


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2014-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        • 1970-01-01
        • 2011-12-30
        • 2016-07-23
        • 1970-01-01
        相关资源
        最近更新 更多