【发布时间】:2015-02-02 20:16:23
【问题描述】:
我正在尝试显示用户每天的步数。 但我真的不知道如何管理。
我已经得到了这个代码:
let endDate = NSDate()
let startDate = NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitMonth, value: -1, toDate: endDate, options: nil)
let weightSampleType = HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount)
let predicate = HKQuery.predicateForSamplesWithStartDate(startDate, endDate: endDate, options: .None)
let query = HKSampleQuery(sampleType: weightSampleType, predicate: predicate, limit: 0, sortDescriptors: nil, resultsHandler: {
(query, results, error) in
if results == nil {
println("There was an error running the query: \(error)")
}
dispatch_async(dispatch_get_main_queue()) {
var dailyAVG = Int()
var steps = results as [HKQuantitySample]
for var i = 0; i < results.count; i++
{
//results[i] add values to dailyAVG
}
}
})
self.healthKitStore.executeQuery(query)
据我所知,查询获取所需的所有数据。但我不知道如何从HKQuantitySample 中获取值。所以我无法测试HKQuantitySample 数组中的值是否正确。
【问题讨论】:
-
那么您的具体问题是什么?您的代码的哪一部分不工作,结果不是您所期望的?
-
我真的有问题,我只是卡住了。我不知道如何访问/添加存储在 HKQuantitySample 数组中的日期
-
您是否按预期从查询中获取所有数据?你唯一在这个 for 循环中苦苦挣扎的部分是什么?如果您希望人们帮助您,您真的必须更新您的问题以使其更具体......
-
你是对的。我写了更多,但我被删除了。
-
这正是
HKStatisticsQuery和HKStatisticsCollectionQuery的设计目的。不要自己做数学,让框架为你做!统计查询可以为您提供与您提供的谓词匹配的样本的总和、最小值、最大值和平均值。
标签: ios iphone swift healthkit hksamplequery