有没有办法在没有单位的情况下获得 HKQuantity 的值?目前 HKQuantities 看起来像:
- 69201.8米
- 543 大卡
- 2 次/秒
- 等等
理想情况下,我希望将 averageQuantity 或 sumQuantity 作为字符串,这样我就可以修改它的显示方式。
调用的结果[HKQuantity description]
不打算用于显示。一般来说,这[NSObject description]
主要是为了方便调试。您应该使用[HKQuantity doubleValueForUnit:]
来获取要显示的值,然后使用NSNumberFormatter
您自己的单元本地化文本格式化该值。HealthKit 不提供值或单位的本地化工具。
Apple 的 HealthKit 文档声明您应该使用 MeasurementFormatter 类:
您可以使用MeasurementFormatter来本地化长度、质量和能量等量。对于其他数量,您需要自己执行转换并本地化数据。
在 NSHipster 上也提到过:
您可能仍然使用 EnergyFormatter、MassFormatter 或 LengthFormatter 的唯一场合是使用 HealthKit 框架时;这些格式化程序提供与 HKUnit 数量的转换和互操作性。
https://nshipster.com/formatter/#formatting-numbers-and-quantities