在iOs 10和WatchOS 3(共享容器)之间共享数据

时间:2017-04-11 09:37:29

标签: ios swift share apple-watch

我尝试为Apple Watch和iPhone编写一个练习App。 但是,我无法将多维数组发送到我的iPhone。 我使用WCsession尝试了许多建议,例如NSUserDefaultsshared container或CoreData。

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

我的应用

我有两个带有变量的类:

 $uibModalInstance.rendered.then(function () {    
    var video = document.getElementById('MyVideo');       
    video.load();
    video.play();
});

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

}
}

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

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

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

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

    }
    }

但是将此数组放入字典并使用userDefaults发送它不起作用。我还建议将exerciseArray转换为数据并使用var exerciseArray = [Any]() 发送。不幸的是,在youtube,stackoverflow或其他任何地方找到的所有教程都不适用于iOS 10和watchOS 3。

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

我更喜欢使用带有Core Data的共享容器,但由于我是编程新手,所以请求您的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

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