NSFormatter には多くの特殊なサブクラスがあります。
CNContactFormatter
CNPostalAddressFormatter
DRMSFFormatter
MKDistanceFormatter
NSByteCountFormatter
NSDateComponentsFormatter
NSDateFormatter
NSDateIntervalFormatter
NSEnergyFormatter
NSLengthFormatter
NSMassFormatter
NSNumberFormatter
NSPersonNameComponentsFormatter
私たちのほとんどは、 と を使用NSNumberFormatter
していNSDateFormatter
ます。これらには、文字列とフォーマッタがサポートする「ネイティブ」形式との間の変換に使用するロケールを指定できる locale プロパティがあります。NSDateComponentsFormatter
プロパティの 1 つからロケールを継承するのが好きな人もいます (NSDateComponentsFormatter
指定されたカレンダーのロケールがあればそれを使用します)。
他のほとんどは、ロケールを指定する方法がないようです。特定の言語/ロケールで出力を生成するために私が考えることができる唯一の方法は、システムロケールを設定し、出力を取得/文字列を数値形式に変換してから元に戻すことです。
NSByteCountFormatter
どのような種類のロケール設定も提供していないように見えるようなフォーマッターのロケールを設定する方法はありますか?
編集:
この質問を書いてから、上記の多くのフォーマッタの名前が変更されました。ほとんどの (すべて?) は、"NS" プレフィックスを失いました。