NSString的形式--可变字符串--增方法Append

字符串除了有创建的几种方法, 大小长度的对比, 还有它的另一种形式, 就是可变字符串, 由其他的几种方法创建的字符串都是不可变的, 一旦创建了之后就固定不变, 但是可变字符串就是在创建之后还可以改变覆盖原有的字符串.

可变字符串的方法;

NSMutableString: 它的意思就是, 使用了NSMutableString该方法创建的字符串会改变并覆盖原来创建的字符串内容.

 

下面是改字符串简单的使用例子:

//这里是增方法的例子, 增是什么呢?
//增有一个叫做追加(append)的方法: 追加就是在字符串的结尾处增加一部分字符, 形成一个新的字符串.
//增还有一种方法叫做插入(insert): 它对应有一个方法.
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //NSMutableString是继承与NSString的, 所以NSString里面的方法
        //在NSMutableString中也可以全部使用.
        //但由于NSMutableString是属于可变字符串, 所以会比NSString多一些方法.
        //增加的方法就是"增删改查"
        
//        NSMutableString *str = @"Helllo";
        //这种方法在可变字符串中不可以使用, 因为这种创建方法.
        //表示的是创建一个不可变的字符串.
        //除了这种创建不可变的字符串方法, 其他创建方法都可以使用.
        
        //创建可变字符串方法
        //第一种:
        //NSMutableString *str = [[NSMutableString alloc]initWithString:@"Hello"];
        //第二种:
        NSMutableString *str = [NSMutableString new];
        [str setString:@"Hello"];
        [str setString:@"Wrold"];
        //如果在Hello下面再设定一个Wrold, 那么就会代替原来Hello, 以此类推.
        //不可变字符串永远做不到可变字符串的事情.
        
        //追加字符串的方法.
        [str appendString:@" World World"];
        
        //追加格式符, appendFormat可以用来追加数字, 字符等等参数.
        [str appendFormat:@" %c ", 'a'];
        
        //插入字符串方法.
        [str insertString:@" XXXX " atIndex:4];
        //这句话的意思就是, 我要把这四个大红叉插入原有的从第四个字符开始的位置, 而原有的第四个字符就会挪到这四个大红叉的后面.
        
        //由于insertString没有Format版本, 我们可以先创建一个临时的字符串, 然后再把临时的字符串传入到你想传入的位置.
        [str insertString:[NSString stringWithFormat:@" %d ", 5] atIndex:6];
        //PS:这里用的NSString stringWithFormat方法, 返回去的是这个方法的地址, 而不是里面的值.
        
        NSLog(@"
str = %@", str);
    }
    return 0;
}

输出的结果:

        //没有声明Wrold的输出结果:
        //2014-10-11 00:05:46.364 NSMutableString[21517:303]
        //str = Hello
        //Program ended with exit code: 0
        
        
        //声明了Wrold的输出结果:
        //2014-10-11 00:04:44.633 NSMutableString[21506:303]
        //str = Wrold
        //Program ended with exit code: 0

第三种的增输出结果:

2014-10-11 16:03:25.271 NSMutableString[1299:303] 
str = Wrol X 5 XXX d World World a 
Program ended with exit code: 0
原文地址:https://www.cnblogs.com/iOSCain/p/4018692.html