问题
I would like to find a way to format a NSString like this:
Name: John
Location: Unknown
Type: Unknown
Status: Unknown
Right now I'm using this code to do it but the result is quite different:
The code:
serializedValue = [serializedValue stringByAppendingFormat:@"%@:\t\t%@\n",title, value];
Where title
is the left column and value
is the second one.
The result:
Name: John
Location: Unknown
Type: Unknown
Status: Unknown
Now, as you can see, adding always a constant number of tabs (\t), 2 in my case, doesn't do the trick, because some words in the left column are longer and some are shorter. I'm wondering if there is a simple way to do this that I'm not aware of.
回答1:
NSString *titleColumn = [[NSString stringWithFormat:@"%@:", title] stringByPaddingToLength:20 withString:@" " startingAtIndex:0];
serializedValue = [serializedValue stringByAppendingFormat:@"%@%@", titleColumn, value];
Btw, it would be more efficient to use an NSMutableString
for serializedValue
.
来源:https://stackoverflow.com/questions/6699930/how-can-i-use-the-t-tab-operator-to-format-a-nsstring-in-columns