Есть ли способ подсчитать количество шагов за каждый день предыдущей недели с помощью HKStatisticsCollectionQuery? - PullRequest
0 голосов
/ 21 июня 2020

Код:

let type = HKQuantityType.quantityType(forIdentifier: .stepCount)!

let now = Date()
let startOfDay = Calendar.current.startOfDay(for: now)
var interval = DateComponents()
interval.day = 1

let query = HKStatisticsCollectionQuery(quantityType: type,
                                        quantitySamplePredicate: nil,
                                        options: [.cumulativeSum],
                                        anchorDate: startOfDay,
                                        intervalComponents: interval)

query.initialResultsHandler = { _, result, error in
    var resultCount = 0.0
    result!.enumerateStatistics(from: startOfDay, to: now) { statistics, _ in
        
        if let sum = statistics.sumQuantity() {
            // Get steps (they are of double type)
            resultCount = sum.doubleValue(for: HKUnit.count())
        } // end if
        
        // Return
        DispatchQueue.main.async {
            completion(resultCount)
        }
    }
}

Я получаю только сегодняшние шаги, но я хочу, чтобы количество шагов за предыдущие 7 дней (т.е. отдельно для каждого дня).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...