微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

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

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

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

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐