A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vyqrvwgf 中级黑马   /  2015-11-4 21:15  /  456 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

NSMutableString是NSString的子类
NSString是不可变的,里面的文字是不能进行修改的
NSMutableString是可变的,里面文字可以随时更改
字符串的可变和不可变
不可变:指的是字符串在内存中占用的存储空间固定,并且存储的内容不能发生变化
可变:指的是制服穿在你存中占用的存储空间可以不固定,并且存储的内容可以被修改
  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[]) {
  3.     @autoreleasepool {
  4.         NSString *str=@"jace";//存储在常量区
  5.         NSLog(@"%p",str);//地址为4038
  6.         str=@"Rose";
  7.         NSLog(@"%p",str);//地址为4078
  8.         NSMutableString *str2=[NSMutableString stringWithFormat:@"jack"];
  9.         NSLog(@"%p",str2);
  10.         //字符串延展appendString,每次延展空间扩大
  11.         [str2 appendString:@"&Rose"];
  12.         NSLog(@"%p",str2);//地址一样
  13.     }
  14.     return 0;
  15. }
复制代码

  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[]) {
  3.     @autoreleasepool {
  4.         //格式化延展
  5.         //appendFormat
  6.         NSMutableString *str1=[NSMutableString string];
  7.         [str1 appendFormat:@"jpg%d",10];
  8.         //删除range.location处range.lenth长度字符串
  9.         //-(void)deleteCharactersInRange:(NSRange)range;
  10.         NSMutableString *str2=[NSMutableString stringWithFormat:@"Lazy&jiangkeshanshan"];
  11.         NSRange range=[str2 rangeOfString:@"jiangke"];
  12.         [str2 deleteCharactersInRange:range];
  13.         NSLog(@"%@",str2);
  14.         //在location位置插入一个字符串
  15.         //-(void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;
  16.         NSMutableString *str3=[NSMutableString stringWithFormat:@"lazy&"];
  17.         NSRange range1=[str3 rangeOfString:@"&"];
  18.         [str3 insertString:@"shanshan" atIndex:range1.location+1];
  19.         NSLog(@"%@",str3);
  20.         //使用aString替换range范围内字符串
  21.         //-(void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString
  22.         NSMutableString *str4=[NSMutableString stringWithFormat:@"lazy&miandian"];
  23.         NSRange range2=[str4 rangeOfString:@"miandian"];
  24.         [str4 replaceCharactersInRange:range2 withString:@"shanshan"];
  25.         NSLog(@"%@",str4);
  26.         //错误1:给可变字符串赋值了不可变内容
  27. //        NSMutableString *str5=@"adb";
  28.         //错误2:给str的string属性设为空
  29. //        NSMutableString *str5=@"abc";
  30. //        str5.string=@"";
  31.     }
  32.     return 0;
  33. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马