HKQuantity 和 HKUnit 支持所有常用测量单位、SI 和其他单位,例如
gram()
、pound()
和 stone()
。
HealthKit 类还支持自定义复杂单位,例如“英尺磅”、“米每秒”或“米每秒平方”,通过
unitMultiplied(by:)
、unitDivided(by:)
、和unitRaised(toPower:)
单位类支持大多数标准 SI 单位(米、秒和克)、带前缀的 SI 单位(厘米、毫秒和千克)以及等效的非 SI 单位(英尺、分钟和磅)。 HealthKit 还支持通过数学组合现有单位来创建复杂单位。
HealthKit 是否支持完全自定义的测量单位来建模简单的非复杂测量,例如质量、长度或体积?
想象一下麻省理工学院的学生项目,用于桥上步行计步器应用程序。该应用程序肯定需要以 Smoot 单位计算和显示距离。
如何在 HealthKit
smoot()
中对 HKUnits
进行建模?
HealthKit共享的目的是让不同的应用程序能够贡献和利用健康数据。为此,HealthKit 存储中记录的数据需要采用通用单位。
如果您要在 Smoots 中记录距离,那么这对于读取数据的任何其他应用程序都毫无意义。
在应用程序中显示数据是另一回事。如果您的应用程序想要以 Smoots 形式显示距离,只需将
UnitConverterLinear
应用于以米为单位记录的距离即可。
类似的东西
let metersToSmoots = UnitConverterLinear(coefficient:1.0/1.7)