为了账号安全,请及时绑定邮箱和手机立即绑定

NSMutableString 到底干吗用

NSMutableString 到底干吗用

拉莫斯之舞 2019-04-23 15:17:59
我只用过NSString,因为NSString有append的方法,完全能够胜任拼装字符串的操作。貌似NSString的mutable比NSArray和NSDictinary相比没啥用处求解,NSMutableString到底再哪些方面跟NSString有区别,什么时候要用NSMutableString
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

主要是为了频繁操作字符串时性能考虑引入的NSMutableString。如果你打印NSMutableString的类型出来,会发现这实际上不是一个string,而是一个stream。strA=[strAstringByAppendingString:@"xxx"];//需重新生成对象和[mutableStrAappend:@"xxx"];//不需重新生成对象分别执行一千次,看看时间
                            
查看完整回答
反对 回复 2019-04-23
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

这个string对象的值是可以改变的。查文档你会发现比NSString多了这些方法:–appendFormat:
–appendString:
–deleteCharactersInRange:
–insertString:atIndex:
–replaceCharactersInRange:withString:
–replaceOccurrencesOfString:withString:options:range:
–setString:经过这些方法操作后,这个对象的值是变化的。比如NSMutableString*s=[NSMutableStringstring];
[sappendString:@"test"];
NSLog(@"%@",s);打印出来的值是test。而NSString也有对应的方法比如:stringByAppendingStringNSString*s1=@"origin";
NSString*s2=[sstringByAppendingString:@"-test"];
NSLog(@"s1:%@",s1);
NSLog(@"s2:%@",s2);打印后:s1:origin
s2:origin-test注意s1没有改变。
                            
查看完整回答
反对 回复 2019-04-23
  • 2 回答
  • 0 关注
  • 328 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号