技术文章分类(180)

技术随笔(11)

ios assign retain copy的区别

这先从assign,retain,copy说起(http://wenku.baidu.com/view/ab6ed804bed5b9f3f90f1c7d.html)

结论:assign复制地址和数据,retain复制数据,新地址,copy新地址,新数据(数据==原来的数据)

assign:对基础数据类型 (NSInteger)和C数据类型(int, float, double, char,等)

copy:修饰NSString

retain:修饰NSObject及其子类

 

形象的比喻:assign一把钥匙,一套房子;retain 2把钥匙,一套房子;copy 2把钥匙,2套房子;

strong与retain类似,引用计数自动加1;

weak与assign类似,但是weak在对象消失后会自动把指针致为nil

posted @ 2014-08-06 09:29  坤哥MartinLi  阅读(232)  评论(0编辑  收藏  举报