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

NSMutableString 到底干吗用

NSMutableString 到底干吗用

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

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

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

TA贡献1846条经验 获得超7个赞

这个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 关注
  • 296 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信