ARC下的内存管理

前序:ARC是自动引用计数,MRC是引用计数。引用计数的原理是跟随OC的出生就存在的。

一、修饰符

1 __strong(默认的,强引用)(相应的属性copy、retain、strong)

2 __weak (弱引用,引用不存在会赋值nil)(相应的属性weak)

3 __unsafe_unretained (弱引用,引用不存在不会赋值nil)(相应的属性assign)

4 __autoreleasing (默认的,添加自动释放)没有

二、三种常见的问题

1 两个对象相互强引用

2 单个对象对自己强引用

3 三个对象A B C 。A对B强引用,C对B弱引用,A取消对B的引用会触发问题。

三、注意问题

1 由于__weak不是默认的,所以如果在属性中设置为weak,引用的实例也是需要用__weak修饰的

2 属性的设置关键字很多,但是copy、retain、strong、weak、assign是修饰他们内存管理相关的关键字。

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

推荐阅读更多精彩内容