美文网首页
iOS 代理Delegate修饰为什么要用weak不用assi

iOS 代理Delegate修饰为什么要用weak不用assi

作者: 孜孜不倦_闲 | 来源:发表于2019-05-06 19:47 被阅读0次

assign修饰符所有权为__unsafe _unretained 顾名思义,不安全,赋值指针,不对引用计数器进行操作,使用之后若不置为nil,会产生野指针;修饰对象一旦超出作用域再去访问该修饰的对象,访问已废弃对象造成crash;weak修饰符所有权为__weak ,两者都能避免循环引用,和__unsafe_unretained区别在于访问已废弃对象,此弱引用将自动失效,并将失效的对象指向nil

相关文章

网友评论

      本文标题:iOS 代理Delegate修饰为什么要用weak不用assi

      本文链接:https://www.haomeiwen.com/subject/aradoqtx.html