我是新的Objective-c编程人员。我正在读关于NSSting
和NSMutableString
的文章。NSString
基本上是不可变的字符串,而NSMutableString
顾名思义就是可变的。这很好,但是我想知道除了可变和不可变之外,如果我可以用NSMutableString
执行NSString
的所有操作,为什么NSMutableString
仍然没有被弃用。有人能让我明白吗??
发布于 2017-04-09 14:57:28
这一切都与内存开销的情况下的性能有关。来自苹果site
性能也是表示字符串和字典等对象的不可变版本的一个原因。基本实体的可变对象,如字符串和字典,会带来一些开销。因为它们必须动态地管理一个可变的后备存储--根据需要分配和释放内存块--可变对象的效率可能比它们的不可变对象低。
所以在我看来,NSString的不可变版本是很重要的。我们必须时刻牢记代码的性能和效率。
https://stackoverflow.com/questions/43307929
复制