objective-c – 关于NSStrings的最后一句话:可变和不可变

我已经阅读了几本书……以及在线…关于不可变和可变的字符串.
他们声称“不可变的字符串”无法改变.
(但他们从不定义“变化”.)

如果不使用NSMutableString,可以更改哪些Nsstrings?

该字符串包含“鲶鱼”……后来我尝试将其更改为“cat”.
(相同的字母,只是更短.)

它包含“猫”……我试图将其改为“鲶鱼”.
(类似的开始…但只是做得更久.)

我将“猫”改为“CAT”.
(相同的字母,但情况已经改变.)

我将“猫”改为“狗”.
(完全不同的字符串,但长度相同.)

我把“猫”变成了“山茱萸”.
(完全不同的字符串,但更长.)

解决方法

答案是 – 没有.不可变意味着它不能被改变成与原始字符串不同的任何东西.每个角色保持不变,长度不能改变等等.一旦定义了你就不能改变任何关于那个字符串的东西.如果要使其更长或更短或更改任何字符,则需要创建一个新字符串(或者使用NSMutableString开头).

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...