【问题标题】:Sending Core Data objects to "read only" Apple Watch App将 Core Data 对象发送到“只读”Apple Watch App
【发布时间】:2015-10-22 20:36:54
【问题描述】:

我正在尝试开发一个 watchOS 2 应用来配合我的 iOS 应用。 iOS 应用程序使用 Core Data,而 Apple Watch 应用程序只是一个“只读”客户端并显示来自 iOS 应用程序的数据。

我已经阅读了一些有关管理两个数据存储的内容,但这似乎是矫枉过正。我只想在启动时将数据传输到手表应用程序,然后在手机发生变化时发送后台传输。

我的问题是我最初如何将此信息发送到手表应用程序?我不认为我可以将实际数据对象发送到手表应用程序。我是否需要将对象转换为字典并通过 WatchConnectivity API 发送所有相关信息?

【问题讨论】:

    标签: ios core-data watchkit watchconnectivity


    【解决方案1】:

    你的方法听起来不错。如果您不玩游戏来更改手表上的数据,那么在手表应用上镜像您的 CoreData 数据库确实是大材小用。

    因此使用应用程序上下文通过后台传输发送数据是正确的选择。这只有一个警告:用于传输数据的updateApplicationContext 方法只接受属性列表值的字典。换句话说,您只能发送可以添加到属性列表的对象:

    • 数组
    • 字典
    • 字符串
    • 数据(NSData)
    • 日期(NSDate)
    • 整数
    • 浮点值
    • 布尔值

    因此,您必须先将 Core Data 对象转换为仅包含这些类型的字典,然后才能发送它们。

    这有点费力,但是即使您想在手表端镜像您的数据库,您也必须这样做,因为使用 watchOS2 您不能再使用应用程序组来共享 CoreData 文件。

    【讨论】:

      猜你喜欢
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多