如何从 HKStatistics 创建 HKQuantitySample?
How to create an HKQuantitySample from HKStatistics?
我正在尝试处理 HKStatistics
心率并创建一个 HKQuantitySample
以便我可以附加到本地数组。我不知道 startDate
和 endDate
使用什么日期,目前我只使用 Date()
但我宁愿更精确并使用实际样本的日期。 statistics.StartDate
仅提供统计数据收集开始的日期,而不是个人 sample/statistic 的日期。我看到该统计数据也有一个 mostRecentQuantityDateInterval()
属性 但不确定如何在这里使用它。
private func processStatistics(withStatistics statistics: HKStatistics?) {
// Make sure we got non `nil` parameters.
guard let statistics = statistics else {
fatalError("no statistics in processStatistics")
}
// Dispatch to main, because we are updating the interface.
DispatchQueue.main.async {
switch statistics.quantityType {
case HKQuantityType.quantityType(forIdentifier: .heartRate):
if let unwrappedQuantity = statistics.mostRecentQuantity() {
let statisticAsHKQuantitySample = HKQuantitySample(type: statistics.quantityType, quantity: unwrappedQuantity, start: Date(), end: Date())
self.heartRateSamples.append(statisticAsHKQuantitySample)
}
我想你在寻找:mostRecentQuantityDateInterval()
let interval = statistics.mostRecentQuantityDateInterval()
interval.start
interval.end
我正在尝试处理 HKStatistics
心率并创建一个 HKQuantitySample
以便我可以附加到本地数组。我不知道 startDate
和 endDate
使用什么日期,目前我只使用 Date()
但我宁愿更精确并使用实际样本的日期。 statistics.StartDate
仅提供统计数据收集开始的日期,而不是个人 sample/statistic 的日期。我看到该统计数据也有一个 mostRecentQuantityDateInterval()
属性 但不确定如何在这里使用它。
private func processStatistics(withStatistics statistics: HKStatistics?) {
// Make sure we got non `nil` parameters.
guard let statistics = statistics else {
fatalError("no statistics in processStatistics")
}
// Dispatch to main, because we are updating the interface.
DispatchQueue.main.async {
switch statistics.quantityType {
case HKQuantityType.quantityType(forIdentifier: .heartRate):
if let unwrappedQuantity = statistics.mostRecentQuantity() {
let statisticAsHKQuantitySample = HKQuantitySample(type: statistics.quantityType, quantity: unwrappedQuantity, start: Date(), end: Date())
self.heartRateSamples.append(statisticAsHKQuantitySample)
}
我想你在寻找:mostRecentQuantityDateInterval()
let interval = statistics.mostRecentQuantityDateInterval()
interval.start
interval.end