Доступ к сердцебиению в покое - PullRequest
0 голосов
/ 28 апреля 2018

Добрый день,

Я новичок в Swift 4 и у меня проблемы с получением данных о частоте сердечных сокращений в покое.

Вот что у меня есть:

// Объявления var heartRateType = HKAnchoredObjectQuery.self

private func createStreamingQuery() -> HKQuery {

    let calendar = NSCalendar.current;

    let now = NSDate();

    let sevenDaysAgo = calendar.date(byAdding: .day, value: -7, to: now as Date);

    let startDate = calendar.startOfDay(for: sevenDaysAgo!);

    let predicate = HKQuery.predicateForSamples(withStart: startDate as Date, end: now as Date, options: [])

    let query = HKAnchoredObjectQuery(type: heartRateType, predicate: predicate, anchor: nil, limit: Int(HKObjectQueryNoLimit)) {

        (query, samples, deletedObjects, anchor, error) -> Void in

        self.formatSamples(samples: samples)

    }

    query.updateHandler = { (query, samples, deletedObjects, anchor, error) -> Void in
        self.formatSamples(samples: samples)
    }

    return query
}

@IBAction func readHeartRate(_ sender: Any) {
    self.healthKitStore.execute(self.createStreamingQuery())
}

private func formatSamples(samples: [HKSample]?) {
    guard let heartRateSamples = samples as? [HKQuantitySample] else { return }

    guard let sample = heartRateSamples.first else{return}
    let value = sample.quantity.doubleValue(for: heartRateType)

    print("HeartRate: \(value)")
}

Я получаю следующие ошибки с этими строками и не могу проверить, будет ли это вообще работать.

// Ошибка: общий параметр 'T' не может быть выведен

// Код с ошибкой:

    let query = HKAnchoredObjectQuery(type: heartRateType, predicate: predicate, anchor: nil, limit: Int(HKObjectQueryNoLimit)) {

        (query, samples, deletedObjects, anchor, error) -> Void in

        self.formatSamples(samples: samples)

    }

Другая ошибка: невозможно преобразовать значение типа 'HKAnchoredObjectQuery.Type' в ожидаемый тип аргумента 'HKUnit'

// Код с ошибкой:

    let value = sample.quantity.doubleValue(for: heartRateType)

Любая помощь, которую вы можете оказать, очень ценится.

Большое спасибо!

Кевин

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