Swift 使用粉底';s用于执行自定义单位转换的度量API
我有三个需要转换的度量单位,其中两个不是由Swift 使用粉底';s用于执行自定义单位转换的度量API,swift,Swift,我有三个需要转换的度量单位,其中两个不是由Foundation提供的。基金会提供的其中一个单位是UnitDispersion.partsPerMillion。其他两个单位为.mille当量/升和碳酸盐硬度度 我需要使用的数学公式如下: 1meq/L=2.8dkh=50ppm 我曾尝试将Foundation.UnitConverter子类化,但我不明白如何使用baseUnitValue(fromValue-value:Double)->Double和value(fromBaseUnitValue-
Foundation
提供的。基金会提供的其中一个单位是UnitDispersion.partsPerMillion
。其他两个单位为.mille当量/升
和碳酸盐硬度度
我需要使用的数学公式如下:
1meq/L=2.8dkh=50ppm
我曾尝试将Foundation.UnitConverter
子类化,但我不明白如何使用baseUnitValue(fromValue-value:Double)->Double
和value(fromBaseUnitValue-baseUnitValue:Double)->Double来创建正确的结果
我是否需要子类化Foundation.UnitConverter
或Foundation.UnitConverterLinear
?我是否需要为每个单元之间的转换创建一个子类UnitConverter
?通常,您不需要为UnitConverter创建子类。相反,您可以创建UnitConverterLinear的具体实例。例如:
extension UnitDispersion {
static let millequivalentsPerLiter =
UnitDispersion(symbol: "meq/L",
converter: UnitConverterLinear(coefficient: 50))
}
let value = Measurement(value: 1,
unit: UnitDispersion.millequivalentsPerLiter) // 1.0 meq/L
value.converted(to: .partsPerMillion) // 50.0 ppm