我正在尝试创建一个仅从HealthKit返回高度数据的Double
值的函数。但是它似乎没有返回新的获取的样本。我在这里做什么错了?
我尝试在完成时使用self.heightValue,但执行此操作时会显示Use of unresolved identifier 'self'
。
func getHeight() -> Double {
var heightValue = 0.0
healthKitManager.readMostRecentSample(
getHeight!,
completion: {
(mostRecentHeight, error) -> Void in
var HKheight = 0.0
if mostRecentHeight != nil {
let recentSample = mostRecentHeight as? HKQuantitySample;
if let sample = recentSample?.quantity.doubleValue(for:HKUnit(from: "cm")) {
HKheight = sample.roundTo(1)
print("SAMPLE: \(sample.roundTo(1))")
heightValue = HKheight
}
}
})
return heightValue
}
我希望输出与示例(177.0
)相同,但是我仍然得到0.0