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

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

问题描述:

我尝试为Apple Watch和iPhone编写一个练习App。 但是,我无法将我的多维数组发送到我的iPhone。 我尝试了许多建议,如WCsessionNSUserDefaults或使用shared container的CoreData。在iOs 10和WatchOS 3(共享容器)之间共享数据

有一些解决方案已经在这里建议在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”的数组:

我从观察得到我的加速度数据,并将其存储到数组。 该数组被声明为:

var exerciseArray = [Any]() 

但将这个数组的字典,并与userDefaults没有工作发送。我还被建议将我的exerciseArray投入到数据中并用sendMessage发送。不幸的是,在YouTube,stackoverflow或其他任何地方发现的所有教程都不适用于iOS 10和watchOS 3.

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

我更喜欢在Core Data中使用共享容器,但由于我在编程方面全新,所以请您帮忙。谢谢!

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