2

有没有办法在没有单位的情况下获得 HKQuantity 的值?目前 HKQuantities 看起来像:

  • 69201.8米
  • 543 大卡
  • 2 次/秒
  • 等等

理想情况下,我希望将 averageQuantity 或 sumQuantity 作为字符串,这样我就可以修改它的显示方式。

4

2 回答 2

1

调用的结果[HKQuantity description]不打算用于显示。一般来说,这[NSObject description]主要是为了方便调试。您应该使用[HKQuantity doubleValueForUnit:]来获取要显示的值,然后使用NSNumberFormatter您自己的单元本地化文本格式化该值。HealthKit 不提供值或单位的本地化工具。

于 2014-12-01T23:17:10.443 回答
1

Apple 的 HealthKit 文档声明您应该使用 MeasurementFormatter 类:

您可以使用MeasurementFormatter来本地化长度、质量和能量等量。对于其他数量,您需要自己执行转换并本地化数据。

https://developer.apple.com/documentation/healthkit/samples/units_and_quantities/defining_and_converting_units_and_quantities

在 NSHipster 上也提到过:

您可能仍然使用 EnergyFormatter、MassFormatter 或 LengthFormatter 的唯一场合是使用 HealthKit 框架时;这些格式化程序提供与 HKUnit 数量的转换和互操作性。

https://nshipster.com/formatter/#formatting-numbers-and-quantities

于 2020-06-09T07:58:17.243 回答