Ios 从数量中删除单位

Ios 从数量中删除单位,ios,healthkit,Ios,Healthkit,有没有一种方法可以在没有单位的情况下获得HKQuantity的值?目前的数量如下所示: 69201.8米 543千卡 2计数/秒 等等 理想情况下,我希望以字符串形式获取averageQuantity或sumQuantity,以便修改其显示方式。调用[HKQuantity description]的结果不用于显示。通常,[NSObject description]主要用于调试方便。您应该使用[HKQuantity doubleValueForUnit:获取要显示的值,然后使用NSNumber

有没有一种方法可以在没有单位的情况下获得HKQuantity的值?目前的数量如下所示:

  • 69201.8米
  • 543千卡
  • 2计数/秒
  • 等等

理想情况下,我希望以字符串形式获取averageQuantity或sumQuantity,以便修改其显示方式。

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

苹果的HealthKit文档说明您应该使用MeasurementFormatter类:

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

NSHipster上也提到:

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


您使用什么代码来获取数量?因为看起来quantityWithUnit:doubleValue:分别返回一个单位和一个值,所以您可以使用您认为合适的值或单位: