2011-07-14 9 views
5

Chciałbym znaleźć drogę do formatowania NSString tak:Jak używać operatora t [tab] do formatowania NSString w kolumnach?

Name:    John 
Location:   Unknown 
Type:    Unknown 
Status:    Unknown 

Teraz używam tego kodu, aby to zrobić, ale wynik jest zupełnie inna:

Kod:

serializedValue = [serializedValue stringByAppendingFormat:@"%@:\t\t%@\n",title, value]; 

Gdzie title jest lewą kolumną, a value jest drugą.

Rezultat:

Name:  John 
Location:  Unknown 
Type:  Unknown 
Status:  Unknown 

Teraz, jak widać, dodając zawsze stałą liczbę kart (\ t), 2 w moim przypadku, nie załatwi, bo niektóre słowa lewa kolumna jest dłuższa, a niektóre krótsze. Zastanawiam się, czy istnieje prosty sposób na zrobienie tego, czego nie jestem świadomy.

+0

Czy chcesz wydrukować ciąg w konsoli? –

Odpowiedz

9
NSString *titleColumn = [[NSString stringWithFormat:@"%@:", title] stringByPaddingToLength:20 withString:@" " startingAtIndex:0]; 
serializedValue = [serializedValue stringByAppendingFormat:@"%@%@", titleColumn, value]; 

Btw, byłoby bardziej efektywne użycie NSMutableString dla serializedValue.

+0

Awesome! Dzięki! Działa jak marzenie! –

+0

Po prostu potrzeba 'stringByAppendingFormat' zmieniona na' stringByAppendingString' :) –

+0

stringByAppendingFormat: @ "% @% @", titleColumn, value] –

Powiązane problemy