[iOS 8] 新しいフォーマッタ NSEnergyFormatter / NSMassFormatter / NSLengthFormatter

2014.09.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

新しいフォーマッタ

NSFormatter はある値を文字列にフォーマットするときに使うクラスです。これまでは NSDateFormatterNSNumberFormatter などがありましたが、iOS 8 から NSEnergyFormatterNSMassFormatterNSLengthFormatter が新しく追加されました。

NSEnergyFormatter

NSEnergyFormatter はエネルギーの値を文字列に変換するためのフォーマッタです。カロリーやジュールなどの値を変換することができます。

let energyFormatter = NSEnergyFormatter()
energyFormatter.forFoodEnergyUse = true

let joules = 10_000.0
println(energyFormatter.stringFromJoules(joules)) // "2.39 Cal"

NSMassFormatter

NSMassFormatter は質量の値を文字列に変換するためのフォーマッタです。グラムやキログラムなどの値を変換することができます。

let massFormatter = NSMassFormatter()
let kilograms = 60.0
println(massFormatter.stringFromKilograms(kilograms)) // "132 lb"

NSLengthFormatter

NSLengthFormatter は距離の長さの値を文字列に変換するためのフォーマッタです。メートルやキロメートルなどのような値を変換することができます。

let lengthFormatter = NSLengthFormatter()
let meters = 5_000.0
println(lengthFormatter.stringFromMeters(meters)) // "3.107 mi"

まとめ

以上、追加された3つのフォーマッタを確認してみると、いずれも健康やフィットネスに関する値であることが分かります。HealthKit を扱う場合はよく使うようになると思います。また NSLengthFormatter は CoreLocation とか CoreMotion でもよく利用する機会が多いと思います。自分で計算せずにフォーマッタを活用しましょう。