この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
新しいフォーマッタ
NSFormatter はある値を文字列にフォーマットするときに使うクラスです。これまでは NSDateFormatter や NSNumberFormatter などがありましたが、iOS 8 から NSEnergyFormatter、NSMassFormatter、NSLengthFormatter が新しく追加されました。
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 でもよく利用する機会が多いと思います。自分で計算せずにフォーマッタを活用しましょう。