Я использую HealthKit
, чтобы сделать пример данных запроса, таких как количество шагов. Однако, когда я тестирую его на своем устройстве, я получаю кучу разных результатов. Теперь, поскольку у меня есть результаты из разных источников и разных дней, таких как [16 count, 50 count, .....]
. Теперь я хочу добавить все данные в одно значение. Как я могу это достичь? Например, если я делаю образец запроса до HealthKit
, и он возвращает [15 count, 20 count]
Я хочу 15 + 20, чтобы получить 35 отсчетов. Как мне это сделать?Добавление данных HealthKit в одно значение
Вот код, который я использовал для запроса данных:
func getStepsHealthData() {
let stepsHealthDataQuery = HKSampleQuery(sampleType: stepsHealth, predicate: predicate, limit: Int(HKObjectQueryNoLimit), sortDescriptors: nil) {
(query, results, error) in
let stepsUnit = HKUnit.countUnit()
for result in (results as? [HKQuantitySample])! {
stepCount = result.quantity.doubleValueForUnit(stepsUnit)
}
}
healthKitStore?.executeQuery(stepsHealthDataQuery)
}
Вау, я боролся с этим навсегда! Это сработало отлично. Только то, что мне нужно :). – Harish
Обратите внимание, что вы обычно предпочитаете запросы, которые вычисляют HKStatistics, вместо того, чтобы выполнять собственное суммирование суммарных данных вручную. Статистические запросы автоматически обрабатывают перекрывающиеся данные из нескольких источников правильно, что трудно сделать с вашей стороны. – Allan