2016-04-10 13 views
0

次は私のコードです:iOSでファイルサイズのローカライズされた説明文字列を取得するには?

- (NSString *)fileSizeDescriptionForFileAtPath:(NSString *)filePath { 

    NSError* error; 
    NSDictionary *fileDictionary = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath 
                        error: &error]; 
    NSNumber *size = [fileDictionary objectForKey:NSFileSize]; 

    NSString *desc = [NSByteCountFormatter stringFromByteCount:size.longLongValue 
             countStyle:NSByteCountFormatterCountStyleFile]; 

return desc; 
} 

は、このコードが正しく任意のローカライズ用のファイルサイズをフォーマットしますか?

NSByteCountFormatter文書では、書式設定された文字列はローカライズされていません。

ありがとうございました。

+1

NSByteCountFormatterを作成し、NSByteCountFormatterCountStyleFileに設定し、システムロケールを別のものに設定して試してください。 NSByteCountFormatterのドキュメントでは、特定の設定がロケールをサポートしていることを少なくとも*意味する特定のロケールでは有効でないかもしれないことに言及しています。しかし、NSByteCountFormatterはロケールプロパティを持っていないようですが、これは驚くべきことです。 –

+0

ところで、あなたのポストを読む前に私は前に 'NSByteCountFormatter'について聞いたことがなかった。それを私の注目に持ってくれてありがとう。 (投票しました) –

+0

このような質問を投稿する前に、自分で試してみる必要があります。この質問を投稿するよりもはるかに速かったでしょう。 – rmaddy

答えて

0

私はいくつかのロケールで上記のコードを試してみました。結果は完全にローカライズされています。

関連する問題