私のアプリでは、ある距離をメートルで持っています。ユーザーがマイルまたはキロメートルを好むかどうかを知る方法?
そして、ユーザーがマイルを好む場合は、それをキロメートルで表示し、ユーザーがマイルを好む場合はマイルで表示したいと考えています。そして、最初のケースでは、 "マイル"を追加するために、最後に "キロメートル"、2番目に文字列に追加したいと思います。
この目標を達成する最良の方法は何ですか?
ありがとうございました。
私のアプリでは、ある距離をメートルで持っています。ユーザーがマイルまたはキロメートルを好むかどうかを知る方法?
そして、ユーザーがマイルを好む場合は、それをキロメートルで表示し、ユーザーがマイルを好む場合はマイルで表示したいと考えています。そして、最初のケースでは、 "マイル"を追加するために、最後に "キロメートル"、2番目に文字列に追加したいと思います。
この目標を達成する最良の方法は何ですか?
ありがとうございました。
iPhoneがこの情報を直接提供しない限り、ロケールからデフォルトユニットまでのルックアップテーブルが必要です。次に、ユーザーがそのデフォルトを上書きできるようにする必要があります。
それは直接それを提供しています、私の答えを参照してください:) – Chris
あなたは、好みや何かでマイルやキロメートルを好むかどうかをユーザーに問い合わせることができます。そして、距離を表示するたびにあなたは言うでしょう。擬似Cコードで
METERS_IN_A_MILE
は約1600になりますが、あなたはそれを調べる必要があります
function distance(meters) {
if (userPrefersKM) {
return meters/1000 + " kilometers";
else if (userPrefersMiles) {
return meters/METERS_IN_A_MILE + " miles";
}
。ユーザーがメトリックかを使用するかどうかを決定するため
マイルで1609.344メートル –
、NSLocaleはあなたを伝えることができます。
func isMetric() -> Bool {
return ((Locale.current as NSLocale).object(forKey: NSLocale.Key.usesMetricSystem) as? Bool) ?? true
}
なお、それ:クリスの答えはこのようなものになるだろうの
- (BOOL)isMetric {
return [[[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem] boolValue];
}
スウィフト同等の状況によってはデフォルトでtrue
になります。必要に応じて変更してください。
なぜユーザーの好みにしませんか? – ceejayoz
iPhoneのロケールについてこの[記事](http://www.iphonesdkarticles.com/2008/11/localizing-iphone-apps-part-1.html)を読んでください。 ==アップデート==元のリンクはもう動作しないので、[ここにキャッシュされたバージョン](https://web.archive.org/web/20130126031830/http://www.iphonesdkarticles.com/2008/11/) localizing-iphone-apps-part-1.html)を参照してください。 –