Swift Heart Rate Variability result conversion from ms to double

Viewed 472

So I'm trying to make an app where the user's heart rate variability is fetched and displayed to them. The issue is that Im not really sure how to convert the result I get from my query to a double, I have tried using

let quantity: HKQuantity? = result?.averageQuantity()
beats = quantity?.doubleValue(for: HKUnit.count().unitDivided(by: HKUnit.minute()))
print(beats)

but I would get the error "reason: 'Attempt to convert incompatible units: ms, count/min'" which is expected because the beats line is intended for average heart rate not heart rate variability. If i print out the quantity variable I do get the result back in this format "Optional(65.24 ms)".

My question is how do I properly convert the result from the first line from ms to a double? Or how can i display it on a label? Because in the ms form it won't work.

Thank for the help in advance guys

1 Answers

Found a solution. This is how to convert the heart rate variability result from MS to a double value. You can then change it to a string

beats = quantity?.doubleValue(for: HKUnit.secondUnit(with: .milli))
Related