【问题标题】:Sharing data between iOs 10 and WatchOS 3 (Shared Container)在 iOs 10 和 WatchOS 3(共享容器)之间共享数据
【发布时间】:2017-04-11 09:37:28
【问题描述】:

我尝试为 Apple Watch 和 iPhone 编写一个锻炼应用程序。 但是,我无法将我的多维数组发送到我的 iPhone。 我尝试了许多建议,例如 WCsession、NSUserDefaults 或 CoreData 使用 shared container。

这里已经在 stackoverflow 上提出了一些解决方案,但它们通常只发送一个短字符串或字典。

我的应用:

我的变量有两个类:

class WorkoutClass: NSObject {
var date: String
var exercise: String
var duration: Double
var repetitions: Double?
var meanRepDuration: Double?
var idealAngle: Double?
var meanAngle: Double?
var repArray: Array<Any>?


init(date: String, exercise: String, duration: Double, repetitions: Double?, meanRepDuration: Double?, idealAngle: Double?, meanAngle: Double?, repArray: Array<Any>?) {


    self.date = date
    self.exercise = exercise
    self.duration = duration
    self.repetitions = repetitions
    self.meanRepDuration = meanRepDuration
    self.idealAngle = idealAngle
    self.meanAngle = meanAngle
    self.repArray = repArray

}
}

和

class RepetitionClass: NSObject { 
var oneRepAngle: Double?
    var oneRepStartTime: Double?
    var oneRepEndTime: Double?
    var oneRepInternalVariation: Double?

init(oneRepAngle: Double?, oneRepStartTime: Double?, oneRepEndTime: Double?, oneRepInternalVariation: Double?) {

        self.oneRepAngle = oneRepAngle
        self.oneRepStartTime = oneRepStartTime
        self.oneRepEndTime = oneRepEndTime
        self.oneRepInternalVariation = oneRepInternalVariation

    }
    }

注解:因为我以一种特殊的方式获取数据,所以我必须这样做。对于每个练习,都会添加一个数组,其中包含每次重复的特定数据

这将与多个练习一起添加到一个名为“exerciseArray”的数组中:

我从 Watch 获取加速度数据并将其存储到一个数组中。 该数组声明为:

var exerciseArray = [Any]()

但是将这个数组放入字典并使用 userDefaults 发送它是行不通的。还建议我将我的练习数组转换为数据并使用sendMessage 发送。不幸的是,在 youtube、stackoverflow 或其他任何地方找到的所有教程都不适用于 iOS 10 和 watchOS 3。

因此,如果有人可以建议一种在 iOS 应用程序及其扩展程序之间共享数据(不仅是小数据/字典)的方法,这实际上也会帮助很多其他人(正如我在 stackoverflow 上已经看到的那样)。

我更喜欢将共享容器与 Core Data 一起使用,但由于我是编程新手,所以我请你帮忙。谢谢!

【问题讨论】:

    标签: ios swift share apple-watch


    【解决方案1】:

    自 WatchOS2 起您不再共享 Core Data,但您可以使用 WatchConnectivity 框架在手机和手表之间传递您需要的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-13
      相关资源
      最近更新 更多