填充NSString不起作用

时间:2011-12-27 07:21:45

标签: objective-c ios nsstring

我已经阅读了左边的NSString左边所有你需要做的事情:

NSString *paddedStr = [NSString stringWithFormat:@"%-20.20@ %-20.20@", 
                          aString, anotherSting];

但是,这不起作用!!我不知道为什么。我尝试了很多组合而没有成功。例子:

NSString *paddedStr = [NSString stringWithFormat:@"%-20s@", " ", myString];

但那种方式很丑陋......丑陋。它只是在字符串(myString)之前附加了20次char(“”),这不是我们需要的吗?

目标是将NSString格式化为呈现两个或更多列,每个列20个字符,无论行中字符串的长度如何。

示例目标输出:

Day       Hour      Name      Age

有人知道怎么做吗?

我正在使用ARC和iOS 5.

实际上,格式化的字符串将使用NSFileHandle写入文件。

感谢各位大家!!

修改

我注意到这有效:

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

但是......我们也不想要C风格的字符串。

1 个答案:

答案 0 :(得分:2)

这是一种方法:

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