我嘗試爲Apple Watch和iPhone編寫一個練習App。 但是,我無法將我的多維數組發送到我的iPhone。 我嘗試了許多建議,如WCsession,NSUserDefaults或使用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中使用共享容器,但由於我在編程方面全新,所以請您幫忙。謝謝!