ios中stringByAppendingString和appendString之间的差异

ios中stringByAppendingString和appendString之间的差异,ios,objective-c,swift,nsstring,nsmutablestring,Ios,Objective C,Swift,Nsstring,Nsmutablestring,stringByAppendingString和appendString之间有什么区别?如果NSString是不可变的,那么它如何追加字符串?appendString:是from,stringByAppendingString:是from 第一个变异现有的NSMutableString 将给定字符串的字符添加到接收器的末尾 第二个返回一个新的NSString,它是接收器和参数的串联 返回通过向接收方追加给定字符串而生成的新字符串 原因是常规的NSString是不可变的,您不能直接向其追加内容。但

stringByAppendingString
appendString
之间有什么区别?如果
NSString
是不可变的,那么它如何追加字符串?

appendString:
是from,
stringByAppendingString:
是from

第一个变异现有的
NSMutableString

将给定字符串的字符添加到接收器的末尾

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

返回通过向接收方追加给定字符串而生成的新字符串


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

appendString:
是from,
stringByAppendingString:
是from

第一个变异现有的
NSMutableString

将给定字符串的字符添加到接收器的末尾

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

返回通过向接收方追加给定字符串而生成的新字符串

原因是常规的
NSString
是不可变的,您不能直接向其追加内容。然而,顾名思义,NSMutableString是可变的,因此可以修改。

for
stringByAppendingString
声明

返回通过向接收方追加给定字符串而生成的新字符串

所以它不会修改现有的字符串-它不能,因为正如您所指出的,NSString是不可变的

另一方面,
appendString
NSMutableString
的一种变异方法,它修改接收的
NSMutableString

for
stringByAppendingString
声明

返回通过向接收方追加给定字符串而生成的新字符串

所以它不会修改现有的字符串-它不能,因为正如您所指出的,NSString是不可变的


另一方面,
appendString
是一种变异的
NSMutableString
方法,它修改接收的
NSMutableString

一个返回string对象,另一个不返回。如果我们想追加string,哪一个更有效?哪一个是返回字符串,哪一个返回另一个对象?你能解释一下吗?我总是使用
stringByAppendingString
。一个返回字符串对象,另一个不返回。如果我们想追加字符串,哪一个更有效?哪一个是返回字符串,哪一个返回另一个对象?你能解释一下吗?我总是使用
stringByAppendingString
。谢谢你的回答。我脑子里有一个小问题,如果我们想附加任何字符串,我们必须使用哪一个,为什么?如果它是
NSString
使用
stringByAppendingString:
否则对于
NSMutableString
另一个。@user3812547一般来说,NSString就足够了,除非你需要多次附加。如果您必须附加几次,这其实并不重要——在这里考虑性能真的不是必需的,除非您需要经常执行操作以获得答案。我脑子里有一个小问题,如果我们想附加任何字符串,我们必须使用哪一个,为什么?如果它是
NSString
使用
stringByAppendingString:
否则对于
NSMutableString
另一个。@user3812547一般来说,NSString就足够了,除非你需要多次附加。如果您必须附加几次,这其实并不重要——除非您需要经常执行操作,否则在这里考虑性能确实不是必需的