属性声明中属性与对象所有权的关系

下表是属性、所有权和关键字间的关系:

属性 关键字 所有权
strong _strong
weak _weak
copy _strong
assign _unsafe_unretained
retain _strong
unsafe_unretained _unsafe_unretained

从上表我们可以总结如下:
1、strong,copy,retain都是对象的持有者,copy是拷贝对象的持有者。
2、assign针对基本类型属性声明,不改变属性的引用计数。
3、copy针对字符串类型属性声明
4、strong针对对象属性声明
5、delegate、outlet属性声明使用weak,delegate可以防止循环引用。
6、weak不会改变对象的引用计数,不是对象的持有者。当对象销毁后,weak类型属性自动赋值为nil。
7、关键字用在声明变量的时候,说明变量对对象的所有权。

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

推荐阅读更多精彩内容