Swift格式化速度

时间:2016-11-07 14:58:05

标签: ios swift health-kit

我希望能够以本地化的形式格式化和打印速度。我找到了一些可以做到这一点的pod,但我正在寻找嵌入式解决方案(如果可能的话)。

目前我接下来会这样做:

 let unit = HKUnit.meterUnit(with: .kilo).unitDivided(by: .hour())
 let output = HKQuantity(unit: unit, doubleValue: 12.5).description

但在这种情况下,我无法调整使用h而不是hr之类的内容。

2 个答案:

答案 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)来本地化显示值。