【问题标题】:Using GameKit to transfer CoreData data between iPhones使用 GameKit 在 iPhone 之间传输 CoreData 数据
【发布时间】:2011-01-22 06:40:47
【问题描述】:

我有一个应用程序,我想通过 Core Data 在两部 iPhone 之间交换信息。

有没有人尝试过这个,如果有的话,什么被认为是最好的方法(即人们是否在文件中使用一些中间格式,例如 XML 或 JSON,或者是否可以直接传输对象)。

如果问题的范围过于宽泛,我深表歉意,但我正处于需要决定转移方法的阶段,而且我没有使用此 API 的经验。

我将非常感谢任何代码示例或任何此类示例的链接,以便使用 GameKit 在设备之间传输对象。

【问题讨论】:

    标签: iphone objective-c core-data transfer gamekit


    【解决方案1】:

    您不能直接在设备之间传输 Core Data 对象,因为它们链接到它们的上下文和持久存储。您需要将数据转换为中间格式(可以像转换为 NSData 的 NSDictionary 一样简单)并将其推送到连接上,然后在另一端重构数据。

    我个人认为 JSON 非常适合这种情况,因为您可以轻松地将 Core Data 对象图转换为一组可以轻松移动的 JSON 可消费对象(字典、数组、字符串和数字)。

    【讨论】:

    • 感谢您的回答。我不认为您有任何代码示例的链接,其中核心数据对象图(我有两个通过关系链接的实体)与 JSON 相互转换。我知道有很多问题要问,但我是一个相对较新的 iPhone 开发人员,可能对这个概念没有我应有的熟悉。
    • 我刚刚在您的另一个问题中发布了(粗略的)示例代码。 stackoverflow.com/questions/2362323/…
    【解决方案2】:

    您是否正在寻找一次性转移?或者您想让两部 iPhone 在一段时间内保持同步(游戏?)。

    我没有深入研究这个主题,但是如果您创建游戏,我建议您查看“核心数据:Apple 的 Mac 上用于持久数据的 API”一书中的“同步服务和核心数据”一章OS X”。

    http://www.pragprog.com/titles/mzcd/core-data

    GameKit 似乎只是通过蓝牙建立连接。如果您以后想使用 IP,请考虑使用 AsyncSockets。

    http://code.google.com/p/cocoaasyncsocket/

    【讨论】:

    • 这是两台设备交换数据的一次性传输。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2012-05-11
    • 2016-08-30
    相关资源
    最近更新 更多