NSString为何要用copy修饰,而不是strong?

Posted iFat的笔记本

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSString为何要用copy修饰,而不是strong?相关的知识,希望对你有一定的参考价值。

NSString本身是无所谓的,但是如果一个 NSString 指针指向了一个 NSMutableString的内存空间的话,如果使用 strong 修饰的话,如果你在别处修改这个值的话,那么原来的值也会改变。用 copy 是生成了一份新的内存空间,所以原值不会改变。
 
所以用copy是为了安全,防止NSMutableString赋值给NSString时,前者修改引起后者值变化而用的.

以上是关于NSString为何要用copy修饰,而不是strong?的主要内容,如果未能解决你的问题,请参考以下文章

iOS一些基本的小知识

IOS 关于NSString类型的属性为什么有时用copy,有时用strong呢?

针对NSString的copy修饰前后,引用计数的变化

NSString用copy修饰的原因

OC 属性修饰符篇

NSString NSArray NSDictionry属性 用Copy修饰