我希望能够以本地化的形式格式化和打印速度。我找到了一些可以做到这一点的pod,但我正在寻找嵌入式解决方案(如果可能的话)。
目前我接下来会这样做:
let unit = HKUnit.meterUnit(with: .kilo).unitDivided(by: .hour())
let output = HKQuantity(unit: unit, doubleValue: 12.5).description
但在这种情况下,我无法调整使用h
而不是hr
之类的内容。
答案 0 :(得分:1)
正如@Allan所说,我们必须使用MeasurementFormatter
。查看下面的即用型解决方案。
import UIKit
import HealthKit
let value = NSMeasurement(doubleValue: 12.5, unit: UnitSpeed.milesPerHour)
let formatter = MeasurementFormatter()
formatter.numberFormatter.maximumFractionDigits = 2
formatter.string(from: value as Measurement<Unit>) // prints 12.5 mph
答案 1 :(得分:0)
description
的{{1}}方法不返回本地化值,而是用于调试,而不是用于显示。将HKQuantity
实例转换为HKQuantity
并使用NSMeasurement
(文档here)来本地化显示值。