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(@"\nstr = %@", 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