gpt4 book ai didi

ios - HealthKit 未返回更新信息

转载 作者:行者123 更新时间:2023-11-29 01:05:41 27 4
gpt4 key购买 nike

我一直在尝试在手机上查询 HealthKit 的步数。这是我尝试过的:

    let endDate = NSDate()
let startDate = NSCalendar.currentCalendar().dateByAddingUnit(.Day, value: -1, toDate: endDate, options: [])

let sampleType = HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount)
let predicate = HKQuery.predicateForSamplesWithStartDate(startDate, endDate: endDate, options: .None)

let query = HKSampleQuery(sampleType: sampleType!, predicate: predicate, limit: 0, sortDescriptors: nil, resultsHandler: { (query, results, error) in
if results == nil {
print("There was an error running the query: \(error)")
return
}

dispatch_async(dispatch_get_main_queue()) {

//print(results)

dispatch_async(dispatch_get_main_queue()) {
let steps = results as! [HKQuantitySample]
print(steps.count)
for step in steps {
self.stepsLabel.text = String(step.quantity)
}
}

}
})

self.healthKitStore.executeQuery(query)

因此,stepsLabel 现在显示“296 计数”。但是,我的步骤远不止于此。我不知道为什么它没有正确更新。我看过this postthis one以及。但是,我还没有很好地理解答案。我应该如何确保查询正确更新?感谢您的帮助。

最佳答案

您只显示最后一个 sample 的数量。

假设您有 100 个样本。您正在使用不同的数量值更新标签 100 次,您看到的是上次更新的数量值。

要查看所有选定样本的总和,您必须对所有(相关)样本的所有数量值求和。

关于ios - HealthKit 未返回更新信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36415351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com