2011-12-27 9 views
3

を働いていない私は、左パッドNSStringにあなたがする必要があるすべては、このであることを読んだことがありますどうしてか分かりません。私は成功せずに多くの組み合わせを試みました。例:パディングNSStringの

NSString *paddedStr = [NSString stringWithFormat:@"%[email protected]", " ", myString]; 

しかし、その方法は醜いです...醜いです。文字列(myString)の前にchar( "")を20回追加するだけです。それは私たちが必要とするものではありませんか?

目的は、行内の文字列の長さに関係なく、それぞれ20文字の2つ以上の列を表示するようにフォーマットされたNSStringを持つことです。

例目標出力:

Day  Hour  Name  Age 

誰もがこの権利を行う方法を知っていますか?私はARCとiOS 5

を使用していますし、実際に、フォーマットされた文字列がNSFileHandleを使用してファイルに書き込まれることになるだろう。

皆さんありがとうございます!

編集:私はこれが動作することに気づいた

NSString *str = [NSString stringWithFormat:@"%-10.10s %-10.10s", 
        [strOne UTF8String], [strTwo UTF8String]]; 

しかし...我々は、Cスタイルの文字列をいずれかの必要はありません。ここで

答えて

2

はそれを行うための方法である:

NSString *paddedStr = [NSString stringWithFormat:@"%@%@", 
         [@"day" stringByPaddingToLength:20 
              withString:@" " 
             startingAtIndex:0], 
         [@"Hour" stringByPaddingToLength:20 
              withString:@" " 
             startingAtIndex:0]]; 
+0

すべての権利ビンス!!それは私が必要としていたものです。ありがとうございました。私はその方法が存在することを知らなかった。 –