質問

このローカリゼーションのアプリのように多くの文書を、どこか切読んだことがわかりやすく伝えるためのユニットが連動のロケールです。

と思いながるというようなもの"ユニット文化センター"。

思表示温度、距離の華氏およびマイルの一部の国℃、キロのために。

があるので、アクセスリストのこれらのユニットのiPhone SDKです。

いただきありがとうございます.

役に立ちましたか?

解決

あなたは、通貨単位を確認するためにNSLocaleを使用することができます。<デル>が、メトリック帝国対のためのリストを自分で作成する必要があり、

おっと。メトリック帝国対のためのあなたのことができます。のチェック。 NSLocaleMeasurementSystemNSLocaleUsesMetricSystemキーがありますされます。

他のヒント

価値Appleが自動的に与えられたユーザーのロケールと言語に適した文字列としてCLLocationDistanceを提示するために素敵なライブラリ(iOSの7で導入されたMKDistanceFormatterを)提供していることに言及されています。

これは少しファジー丸め(例えば300ft-> 350ft-> 400フィート)を行いますが、うまく単位間の変換ん(例えばフィート - そうするために、適切な>マイル)。あなたが本当に正確な値を求めていない限り、このクラスは、2行のコードで距離の大まかな見積もりを返すのに最適です。

MKDistanceFormatter *distanceFormatter = [[MKDistanceFormatter alloc] init];
[distanceFormatter setUnitStyle:MKDistanceFormatterUnitStyleAbbreviated]; // Optional
NSString *formattedDistance = [distanceFormatter stringFromDistance:100];
NSLog(@"%@",formattedDistance); // Prints "350 ft"

https://developer.apple。 COM /ライブラリ/ IOS /ドキュメント/ MapKit /リファレンス/ MKDistanceFormatter_class /リファレンス/のreference.htmlする

そう思ってやってきましたことに注意してくださとしてのリリース iOS8 が新たな NSFormatters 少なくとも一部のユニットを使って制御されます。

があります NSLengthFormatter, NSMassFormatterNSEnergyFormatter 非常に使いやすい見本 iOS8NSFormatterチュートリアル.ここでは一例ですのNSLengthFormatter迅速:

let lengthFormatter = NSLengthFormatter()
println(@"Kilometer: %@", lengthFormatter.stringFromValue(1000, unit: .Kilometer))       //Kilometer: 1,000 km

スウィフトます:

1)

import MapKit

2。)フォーマッタを作成するので、怠惰な財産として、あなたより良いセットフォーマッタ、高価です。そうすることによって、あなたはそれが必要だ場合にのみ、フォーマッタを初期化し、フォーマッタを再利用するのではなく、新しいものを作成することができます。

lazy var distanceFormatter: MKDistanceFormatter = {
    var tempDistanceFormatter =  MKDistanceFormatter()
    tempDistanceFormatter.unitStyle = .Abbreviated // .abbreviated in Swift 3

    return tempDistanceFormatter
}()

3)

let distanceString = self.distanceFormatter.stringFromDistance(yourDistance)

私は、文字列の拡張子にこの方法を抽出しています。ルックスエレガント

スウィフト4.1バージョン

import MapKit

extension String {
    init(distance: Double ) {
        let mkDistanceFormatter = MKDistanceFormatter()
        mkDistanceFormatter.unitStyle = .abbreviated
        self = mkDistanceFormatter.string(fromDistance: distance)
    }
}

使用方法

let distance = Double(34234.0)
let stringDistance String(distance:distance)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top