声明NSString,对比属性 copy,strong

关于声明一个NSString,基于ARC下,属性修饰符一般会选择copy或strong,两者的区别在于源字符串的类型:
不可变源字符串:copy为浅拷贝,copy与strong会增加源字符串的引用计数 +1,属于增加两个指针指向源字符串的地址;改变源字符串时两者会随之改变。
可变源字符串:copy为深拷贝,copy会拷贝出一份新的地址,copy出来的是不可变的string,而strong 还是会增加一个指针。当改变源字符串时,strong修饰的会随之改变,但是copy不会。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容