ARC的__weak和unsafe_unretained

来源:互联网 发布:程序员找工作最佳月份 编辑:程序博客网 时间:2024/05/22 13:14

都是弱引用。
__weak 使用前提是对象存在一个强引用指针的情况下,否则会将对象置为null;当没有强引用指向对象,指针会指向nil(对象已不存在),它是安全的。
unsafe_unretained 是在iOS4.0之前使用于弱引用的,当强引用不存在,对象被销毁,弱引用指针指向的还是原来对象所在空间的地址(对象已不存在:若给该指针发送一条消息,会发生崩溃)。不像__weak会被置空(和MRC是一样的)。当所有的强引用不存在的时候(这个指针还是指向原来的空间),所指向这个对象的指针还是指向对象原来所在的空间。

0 0
原创粉丝点击