入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2015-09-27 投稿人: 浏览次数:13167

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);
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。