1. 程式人生 > >字串的常用方法—拼接字串

字串的常用方法—拼接字串

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;
}
  • 效果如下:
    stringWithFormat

    • 但是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

  • 所以我們說 這個NSMutableString是對NSString做的最大的擴容就是他儲存的字串是可變的

  • 當然 他還提供了一個appendString方法來對字串進行拼接

NSMutableString *str = [NSMutableString string];
    [str
appendString:@"lilei"]; [str appendString:@"rose"]; [str appendString:@"jack"]; NSLog(@"%@",str);