美文网首页
weakSelf的使用

weakSelf的使用

作者: 承诺幸福 | 来源:发表于2017-12-22 09:06 被阅读0次

    使用过weakself的都知道weakself的作用是为了避免循环引用而定义的。

    使用weakself需要注意的三点:

     1: 谁主动发起的blk 

     2:谁是blk 具体的响应者 

     3:1和2 的关系 是不是强引用关系

    需要关注的就是 对象方法中的循环引用,如果仅仅是个局部变量 直接self,如果是个全局的成员变量,那就基本上是会有循环的问题

    那么有一个问题,是不是所有的block里面都需要去定义一个weakself呢?

    图一:

    图二:
    图一是masonry的适配,里面引用了weakself来适配控件的大小,这里使用weakself基本上是没有问题的?
    因为这里的适配是放在主线程中也必然是放在主线程中运行的,并且也不会提前释放,因ui的dealloc 肯定是主线程在跑。

    block内部 你是不会因用到其他self 之外空间的布局的,所以这里用weakself绝对不会存在循环引用的情况,所以用不用问题不大。

    相关文章

      网友评论

          本文标题:weakSelf的使用

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