6

我正在尝试确定用户区域/区域设置是否验证度量值的使用(在这种情况下是否应附加kglb )。

我在我的 iPad 和模拟器(Xcode 3.2.4)上运行 3.2。我已经尝试了一些不同的区域设置,但我根本无法让它NO返回NSLocaleUsesMetricSystem

NSLocale *locale = [NSLocale systemLocale]; 
BOOL usesMetric = [[locale objectForKey:NSLocaleUsesMetricSystem] boolValue];

NSLog(@"The system is Metric: %@\n", (usesMetric ? @"YES" : @"NO"));

这甚至发生在模拟器和实际设备上的语言设置为英语和地区设置为美国的情况下。

我也尝试过NSLocaleMeasurementSystem,它也总是返回“公制”,而不是“美国”。

我将如何决定是否应该使用 Metric?

感谢您提供的任何帮助:)

...我能不能幸运地在我睡觉的时候整个世界都变成了公制:)

4

2 回答 2

12

尝试currentLocale代替systemLocale

于 2011-07-16T19:41:05.077 回答
2

有同样的问题,直到我意识到,英国正式使用公制。我一直认为他们仍然使用英制,所以我用UK进行了测试。

一旦我开始测试美国语言环境,NSLocaleUsesMetricSystem 就开始按预期返回“NO”。

希望这可以帮助。

于 2012-03-19T14:22:52.760 回答