2

我想使用 iOS 8 的新 HealthKitNSFormatters来根据地区显示一个人的体重。所以欧洲的 80 公斤应该像176.36 pounds美国那样格式化,但欧洲是 80 公斤。为此,我使用该unitStringFromKilograms方法,根据文档应该返回:

表示单位的本地化字符串。此方法根据格式化程序的语言环境、值的大小和forPersonMassUse属性选择正确的单位。

但是,以下代码在具有多个区域设置的多台笔记本电脑和iOS具有公制区域设置的设备上始终返回“磅”。

这是一个错误还是我忘记了一些如此明显以至于Apple没有在他们的文档中提到它?

import HealthKit

let massFormatter = NSMassFormatter()
massFormatter.forPersonMassUse = true // it doesn't matter if this is false
massFormatter.unitStyle = .Long
var massFormatterUnit = NSMassFormatterUnit.Kilogram

// This unitString SHOULD be according to locale, e.g. kg in Europe, pounds in us.
// instead it always returns 'pounds'
let unitString = massFormatter.unitStringFromKilograms(80, usedUnit: &massFormatterUnit)
4

0 回答 0