非ARC(assign,retain,copy)与ARC(strong,weak)

来源:互联网 发布:docker容器连接数据库 编辑:程序博客网 时间:2024/06/03 22:43

1. 非ARC(assign,retain,copy)

       在ios5之前我们都是自己管理内容,对应对象的定义使用assign,retain和copy属性,简单理解,

       assign属性对引用计数没有影响,一般适用与基本数据类型,NSInteger,bool等;

       retain属性对引用计数+1,非基本数据类型的其他数据类型,及继承自NSObject的类型,对于NSString,地址没变,内容当然也是不变的,只是地址的引用计数+1;

       copy适用与NSString,地址改变,内容不变.

       具体列子见:http://blog.csdn.net/mars2639/article/details/7352540

2. ARC(strong,weak)

       ios5之后增加了ARC这个新特性,不用自己去管理内存了,但是对于从一开始就接触ios开发的开发者来说,习惯了自己管理内存,但是也有必要了解和学习一下ARC的一些知识。

       strong和weak属性与非ARC属性对应起来,易于理解,strong相当与ARC中的retain,对引用计数+1;weak相当与ARC中的assign属性。

       具体列子见:http://mobile.51cto.com/iphone-386301.htm

0 0