我正在国际化我的 iOS 应用程序,以处理美国习惯单位(英制)和 SI(公制)。有没有办法根据用户的区域设置或其他设置信息来判断用户的首选设置?
我要求用户输入
Measurement()
数据,并且需要知道在调用let weight = Measurement(value: 75, unit: UnitMass.kilograms)
时分配什么单位。我希望能够为用户分配正确的单位,而无需询问他们的偏好。我知道系统可以使用 weight.formatted()
处理正确的输出单位。但是输入呢?
我的应用程序非常面向用户数据输入,使用以下
UnitType
:
Measurement Imperial Metric
Length feet meters
Distance miles kilometers
Mass pounds kilograms
Displacement cubicInches liters
Volume gallons liters
Power horsepower kilowatts
Temperature farenheit celcius
AtmosPressure inchesOfMercury millibars
Speed milesPerHour kilometersPerHour
您可以为每个单元使用正确的初始化程序,例如:
let currentMassUnit = UnitMass(forLocale: .current)
请注意,用户可能不喜欢计算的区域设置。