ios中stringByAppendingString和appendString之间的区别
stringByAppendingString
和appendString
之间的区别是什么?如果NSString
不可变,那么它如何追加字符串?ios中stringByAppendingString和appendString之间的区别
appendString:
是从NSMutableString
,stringByAppendingString:
是从NSString
。
第一个变异现有的NSMutableString
。
在接收者的末尾添加给定字符串的字符。
第二个返回一个新的NSString
这是一个接收器和参数的串联。
返回通过将给定字符串附加到接收方而创建的新字符串。
原因是常规的NSString
是不可变的,你不能直接附加一些东西给它。然而,正如名字所示,NSMutableString是可变的,因此可以修改。
感谢您的回答。我脑海中有一个小问题,如果我们想追加任何字符串,我们必须使用哪一个,为什么? – user3812547
如果它的'NSString'使用'stringByAppendingString:'否则用于'NSMutableString'另一个。 –
@ user3812547一般来说NSString是足够的,除非你必须追加很多次。如果你不得不追加几次,这并不重要 - 考虑到这里的性能真的不是必须的,除非你需要经常执行操作 – luk2302
的documentation为stringByAppendingString
说,它
返回给定的字符串追加到接收器
所以它不会修改现有的字符串做了一个新的字符串 - 它不能,因为正如你所指出的那样,NSString是不可变的,另一方面,NSMutableString
的变异方法是修改接收NSMutableString
。
一个返回一个字符串对象,另一个不是。 –
如果我们想追加字符串,哪一个更高效?哪一个是返回字符串,哪一个返回另一个对象?你能解释一下吗? – user3812547
我总是使用'stringByAppendingString'。 –