如何知道用户是喜欢英里还是公里?

Ily*_*ski 11 iphone cocoa-touch objective-c

在我的应用程序中,我有一定距离米.

如果用户喜欢数公里,我希望以千米为单位显示它,如果用户喜欢里程,则以英里显示.在第一种情况下,我想在末尾添加一个字符串"km",在第二种情况下添加"miles".

实现这一目标的最佳方法是什么?

谢谢.

Chr*_*ris 15

要确定用户是否使用度量标准,NSLocale可以告诉您:

- (BOOL)isMetric {
  return [[[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem] boolValue];
}
Run Code Online (Sandbox Code Playgroud)


Ram*_*att 5

斯威夫特相当于克里斯的回答是这样的:

func isMetric() -> Bool {
    return ((Locale.current as NSLocale).object(forKey: NSLocale.Key.usesMetricSystem) as? Bool) ?? true
}
Run Code Online (Sandbox Code Playgroud)

请注意,它true在某些情况下默认为。根据需要更改。


Dra*_*mon 0

除非 iPhone 直接提供此信息,否则您必须有一个从区域设置到默认单位的查找表。然后您应该允许用户覆盖该默认值。