美文网首页iOS知识库
一.代理为什么要用weak修饰

一.代理为什么要用weak修饰

作者: Tanyfi | 来源:发表于2016-08-07 19:52 被阅读111次

    代理为什么要用weak修饰

    在说这个之前,得了解一个知识点, view 的属性和控制器是用ratain修饰的强引用:
    只要控制器不死, 这个属性就存在

    @property(null_resettable, nonatomic,strong) UIView *view;
    或者retain  相当于strong
    @property( nonatomic,retain) UIView *view;
    

    那为什么代理要用weak弱引用呢?

    拿tableView来说, tableView有个view 里面有个强引用, 他有个代理属性, 一般我们都是设置控制器为代理, 此时要是用强引用的化, 就会造成你拉着我,我拉着你,谁都别想死u循环引用,这是个很大的问题,效果如图:

    屏幕快照 2016-08-07 下午7.46.55.png
    所以代理要用weak修饰,此时才可以释放对象
    屏幕快照 2016-08-07 下午7.48.39.png

    这样才可以

    相关文章

      网友评论

        本文标题:一.代理为什么要用weak修饰

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