8

NSFormatter には多くの特殊なサブクラスがあります。

CNContactFormatter
CNPostalAddressFormatter
DRMSFFormatter
MKDistanceFormatter
NSByteCountFormatter
NSDateComponentsFormatter
NSDateFormatter
NSDateIntervalFormatter
NSEnergyFormatter
NSLengthFormatter
NSMassFormatter
NSNumberFormatter
NSPersonNameComponentsFormatter

私たちのほとんどは、 と を使用NSNumberFormatterしていNSDateFormatterます。これらには、文字列とフォーマッタがサポートする「ネイティブ」形式との間の変換に使用するロケールを指定できる locale プロパティがあります。NSDateComponentsFormatterプロパティの 1 つからロケールを継承するのが好きな人もいます (NSDateComponentsFormatter指定されたカレンダーのロケールがあればそれを使用します)。

他のほとんどは、ロケールを指定する方法がないようです。特定の言語/ロケールで出力を生成するために私が考えることができる唯一の方法は、システムロケールを設定し、出力を取得/文字列を数値形式に変換してから元に戻すことです。

NSByteCountFormatterどのような種類のロケール設定も提供していないように見えるようなフォーマッターのロケールを設定する方法はありますか?

編集:

この質問を書いてから、上記の多くのフォーマッタの名前が変更されました。ほとんどの (すべて?) は、"NS" プレフィックスを失いました。

4

1 に答える 1