如果我能用NSMutableString完成所有工作,为什么NSString仍然存在?

时间:2017-04-09 14:32:47

标签: ios objective-c nsstring nsmutablestring

我是新的Objective-c编程。我正在阅读NSStingNSMutableStringNSString基本上是不可变的字符串,而NSMutableString是可变的,顾名思义。那很好但是我想知道除了可变和不可变之外,如果我可以NSString执行NSString的所有操作,为什么NSMutableString仍然不被弃用。任何人都可以告诉我吗?

1 个答案:

答案 0 :(得分:0)

所有关于内存开销的性能。来自Apple site

  

性能也是表示字符串和字典之类的对象的不可变版本的原因。基本实体(如字符串和字典)的可变对象会带来一些开销。因为它们必须动态地管理可更改的后备存储 - 根据需要分配和释放内存块 - 可变对象的效率可能低于它们的不可变对象。

所以在我看来,NSString的不可变版本很重要。我们始终必须牢记我们的代码性能和效率。