我是新的Objective-c编程。我正在阅读NSSting
和NSMutableString
。 NSString
基本上是不可变的字符串,而NSMutableString
是可变的,顾名思义。那很好但是我想知道除了可变和不可变之外,如果我可以NSString
执行NSString
的所有操作,为什么NSMutableString
仍然不被弃用。任何人都可以告诉我吗?
答案 0 :(得分:0)
所有关于内存开销的性能。来自Apple site
性能也是表示字符串和字典之类的对象的不可变版本的原因。基本实体(如字符串和字典)的可变对象会带来一些开销。因为它们必须动态地管理可更改的后备存储 - 根据需要分配和释放内存块 - 可变对象的效率可能低于它们的不可变对象。
所以在我看来,NSString的不可变版本很重要。我们始终必须牢记我们的代码性能和效率。