2010-07-31 49 views

回答

3

这是合适的?:

NSMutableString *s1 = [[NSMutableString alloc] initWithString:@""]; 
NSString *s2 = @"abc"; 

for(NSInteger idx = 0; idx < 10; ++idx) { 
    [s1 appendString:s2]; 
} 

... 

[s1 release]; 
+2

+1。但根据obj-c内存管理规则的精神和我们经常在这里看到的错误,最好调用'[NSMutableString stringWithString:@“”]'来获得一个自动释放的字符串。 – mvds 2010-07-31 12:27:42

+0

或者只是'[NSMutableString string]'。 – Wevah 2010-07-31 17:25:06

0

虽然@thatsdisgusting了一个完美的答案,这里有一个捷径:

NSMutableString *a = [NSMutableString stringWithCapacity:0]; 
NSString *pad = @"abc"; 
NSString *ret = [a stringByPaddingToLength:10*[pad length] withString:pad 
                  startingAtIndex:0]; 

滥用stringByPaddingToLength