字串的常用方法—拼接字串
阿新 • • 發佈:2019-02-05
stringWithFormat
- 一般來說,我們習慣了使用stringWithFormat來拼接字串,如下:
int main(int argc, const char * argv[])
{
NSString *name = @"jack";
int age = 20;
NSString *str = [NSString stringWithFormat:@"我的名字%@,今年:%d",name,age];
NSLog(@"%@",str);
return 0;
}
效果如下:
- 但是NSString有一個恆定性,就是他儲存的字串,是不能更改的,那麼在拼接的時候,每拼接一次,就會建立一個字串,所以效率就顯得非常低下,如:
NSString *str = @"";
NSLog(@"--------");
for (int i = 0 ; i < 50000; i++)
{
str = [NSString stringWithFormat:@"%@%d",str,i];
}
NSLog(@"--------");
- 一旦我們進行大批量的資料拼接,那麼就消耗很多的時間:
-
- 那麼就會效率就顯得十分的低
-
NSMutableString
NSMutableString *str = [NSMutableString string];
NSLog (@"---------");
for (int i = 0 ; i<50000; i++)
{
[str appendFormat:@"%d",i];
}
NSLog(@"------");
因為NSMutableString儲存在記憶體中得字串是可變的,那麼在拼接的時候,就不會去新建1個物件,所以效率就非常高
所以我們說 這個NSMutableString是對NSString做的最大的擴容就是他儲存的字串是可變的
當然 他還提供了一個appendString方法來對字串進行拼接
NSMutableString *str = [NSMutableString string];
[str appendString:@"lilei"];
[str appendString:@"rose"];
[str appendString:@"jack"];
NSLog(@"%@",str);