Objective-C:Foundation框架-常用类-NSMutableString

NSString是不可变的,不能删除字符或修改字符,它有一个子类NSMutableString,为可变字符串。

NSMutableString的两种创建方法:

  • - (id) initWithCapacity:(NSUInteger)capacity
  • + (id) stringWithCapacity:(NSUInteger)capacity

  capacity只是一个最优值,字符串的大小并不限于所提供的容量,设置了capacity,可以预分配一块内存来存储它,操作速度会快很多,也可以使用创建NSString的方法来创建NSMutableString,因为NSMutableString是NSString的子类。其用法如下:

#pragma mark 可变字符串的创建
void stringCreate() {
    // 预先分配10个字数的存储空间
    NSMutableString *str = [[NSMutableString alloc] initWithCapacity:10];
    // 设置字符串内容
    [str setString:@"1234"];
    
    // 拼接一个字符串
    [str appendString:@"567"];
    // 拼接字符串
    [str appendFormat:@"age is %i and height is %.2f", 27, 1.55f];
    
    // 替换字符串
    NSRange range = [str rangeOfString:@"height"];
    //NSRange range = NSMakeRange(7, 3);
    [str replaceCharactersInRange:range withString:@"no"];
    
    // 插入字符串
    [str insertString:@"abc" atIndex:2];
    
    // 删除字符串
    range = [str rangeOfString:@"age"];
    [str deleteCharactersInRange:range];
    
    NSLog(@"%@", str);
    
    // 释放对象
    [str release];
}

 

你可能感兴趣的:(Objective-C:Foundation框架-常用类-NSMutableString)