ios

时间:2015-06-22 10:05:38

标签: ios objective-c swift nsstring nsmutablestring

stringByAppendingStringappendString之间有什么区别?如果NSString不可变,那么它如何附加字符串?

2 个答案:

答案 0 :(得分:4)

appendString:来自NSMutableStringstringByAppendingString:来自NSString

第一个变异现有的NSMutableString

  

在接收器的末尾添加给定字符串的字符。

第二个返回一个新的NSString,它是接收者和参数的串联。

  

返回通过将给定字符串附加到接收器而生成的新字符串。

原因是常规NSString是不可变的,你不能直接向它添加内容。但是,顾名思义,NSMutableString是可变的,因此可以修改。

答案 1 :(得分:0)

stringByAppendingString的{​​{3}}表明它

  

返回通过将给定字符串附加到接收器而生成的新字符串

所以它没有修改现有的字符串 - 它不能,因为正如你所说,NSString是不可变的

另一方面,

appendStringNSMutableString的一种变异方法,可以修改接收NSMutableString