首页 > 代码库 > NSString为何要用copy修饰,而不是strong?

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

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

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