NSString 用copy 与 strong之间的区别

2018-05-31  本文已影响15人  慧慧_6e7a

1.当赋值对象为NSString时

copy1 copy2 copy3

--------------------------------------------------------------------------------------------

strong1 strong2 strong3

发现没有,当赋值对象B为NSString时,不管是copy,还是strong,此时A的地址都没有发生变化,所以此时strong与copy的作用是一样的,就是指针赋值.这里的copy也就是一个浅copy.

.当赋值对象为NSMutableString

copy1 copy2 copy3

-------------------------------------------------------------------------------------------

strong1 strong2 strong3

当用NSMutableString时,copy赋值没有发生变化(A与B的地址不一样),而strong发生了变化,说明copy是copy了一个对象,所以发生不变,而strong是进行了强引用,指针赋值(A与B的地址是一样的).

以上同样适用NSArray,NSDictionary

上一篇下一篇

猜你喜欢

热点阅读