| 
 
| NSMutableString 1.NSMutableString介绍和使用
 NSMutableString继承自NSString,他更加灵活。
 NSMutableString和NSString的区别:
 (1)NSString里面的文字内容是不可变的,而NSMutableString里面的参数是可变的
 //不可变:指的是字符串在内存中的存储空间固定,并且存储的内容不能发生变化
 //可变:指的是字符串在内容中占用的存储空间不固定,并且存储的内容可以被修改
 
 (2)使用例子
 #import <Foundation/Foundation.h>
 int main(int argc, const char *argv[]){
 autoreleasepool{
 NSString *str = @"Jack";//字符串常量在常量区
 NSLog(@"str addr = %p",str);//在内存中的位置是A
 str = @"Rose";
 NSLog(@"str addr = %p",str);//在内存中的位置是B
 NSMutableString *str2 = [NSMutableString stringWithFormat:@"Jack"];//在堆区
 NSLog(@"str addr = %p",str2);//内存空间为C,在堆区
 [str2 appendString:@"Rose"];
 NSLog(@"str addr = %p",str2)//内存空间为C,在堆区
 NSLog(@"str addr = %@",str2);//结果是“Jack@Rose”;
 //创建一个可变的空字符
 NSMutableString *str3 = [NSMutableString string];
 for(int i; i < 10; i++){
 [str3 appendString:@"itcast"];
 }
 
 }
 return 0;
 }
 2.NSMutableString的常用方法
 (1)appendString
 (2)appendFormat//格式化的添加字符串
 NSMutableString *str = [NSMutableString string];
 [str appendFormat:@"http://www.baidu.com/%d",100];
 NSLog(@"%@",str);//输出"http://www.baidu.com/100"
 (3)deleteCharactersInRange//在字符串的指定位置删除字符串的一部分内容
 NSMutableString *str = [NSMutableString string];
 [str appendFormat:@"http://www.baidu.com/%d",100];
 NSLog(@"%@",str);
 [str deleteCharactersInRange:NSMakeRange(3,4)]//从第三个位置开始,往后删4个。并且返回值为0,
 //因为该方法将已存在的内存缩小,地址没有改变
 (4)insertString//没有返回值
 NSMutableString *str = [NSMutableString string];
 [str appendFormat:@"http://www.baidu.com/%d",100];
 NSLog(@"%@",str);
 [str deleteCharactersInRange:NSMakeRange(3,4)]
 [str insertString:@"p://" atIndex:3];//在位置3之前插入
 (5)replaceCharactersInRange
 [str replaceCharatersInRange:NSMakeRange(11,5) wtithString:@"itcast"];
 3.注意事项
 (1)给可变字符串赋值了不可变的值,导致程序运行时出错
 NSMutableString *str = @"abc";//@“abc”是NSString类型,而str是NSMutableString类型
 //编译的时候,str认为自己是NSMutableString类型,不会报错
 //但是动态类型只有在运行的时候,才会确定自己是什么类型,也就是说
 //运行的时候,判断自己为NSString类型
 [str appendString:@"xxxx"];
 (2)NSMutableString中string属性,该属性可以将原来的字符串覆盖。
 str.string = @" ";以空格覆盖
 (3)开发中是使用NSString还是使用NSMutableString
 绝大多数情况下,使用NSString,在需要对字符串的内容进行操作的时候,使用NSMutableString
 (4)位枚举
 
 | 
 |