Block的强引用

2019-04-29  本文已影响0人  zhouluyao
  1. @weakify(self),@strongify(self)在Block中配合使用才有效,目的是让block不对self进行强引用

  2. 里面@strongify(self)相当于,生成了一个变量名为self的局部变量并指向了weakSelf,

  3. 在block内部@strongify(self)之前不能使用self,否则block依然会对self进行强引用

  4. 正常情况下,block会对代码块里面的非全局对象进行强引用

     @weakify(self) 配合  @strongify(self)使用不等同与下面2句
     
    __weak typeof (self) weakSelf = self;
    __strong typeof (self) strongSelf = weakSelf;
    ,只相当于 __weak typeof (self) weakSelf = self;
    
    如果self销毁就不往下执行代码时可以用__weak typeof (self) weakSelf = self;或者@weakify(self) 配合  @strongify(self)使用
上一篇 下一篇

猜你喜欢

热点阅读