从HKQuantity中删除单位

时间:2014-12-01 18:42:41

标签: ios health-kit

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

  • 69201.8米
  • 543千卡
  • 2 count / s

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

2 个答案:

答案 0 :(得分:1)

调用[HKQuantity description]的结果不能用于显示。通常,[NSObject description]主要用于调试方便。您应该使用[HKQuantity doubleValueForUnit:]来获取要显示的值,然后使用NSNumberFormatter和您自己的本地化文本格式化值。 HealthKit不提供值或单位的本地化设施。

答案 1 :(得分:1)

Apple的HealthKit文档指出您应该使用MeasurementFormatter类:

您可以使用MeasurementFormatter来定位诸如长度,质量和能量之类的量。对于其他数量,您需要执行转换并自己定位数据。

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

在NSHipster上也提到过:

只有在使用HealthKit框架时,您才可能仍然使用EnergyFormatter,MassFormatter或LengthFormatter。这些格式化程序提供与HKUnit数量的转换和互操作性。

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