Как я могу использовать оператор \ t [tab] для форматирования строки NSString в столбцах? - PullRequest
5 голосов
/ 15 июля 2011

Я хотел бы найти способ отформатировать строку NSS следующим образом:

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

Сейчас я использую этот код, но результат совсем другой:

Код:

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

Где title - левый столбец, а value - второй.

Результат:

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

Теперь, как вы можете видеть, добавление всегда постоянного числа вкладок (\ t), 2 в моем случае, не помогает, потому что некоторые слова в левом столбце длиннее, а некоторые короче. Мне интересно, есть ли простой способ сделать это, о котором я не знаю.

1 Ответ

10 голосов
/ 15 июля 2011
NSString *titleColumn = [[NSString stringWithFormat:@"%@:", title] stringByPaddingToLength:20 withString:@" " startingAtIndex:0];
serializedValue = [serializedValue stringByAppendingFormat:@"%@%@", titleColumn, value];

Кстати, было бы более эффективно использовать NSMutableString для serializedValue.

...