zoukankan      html  css  js  c++  java
  • 解决Block弱引用可能造成的循环引用

    1.__weak typeof(self) myself = self;

    2.__weak RecommendViewController *recommendVC = self;

    以上两种写法是一种效果

     
    typeof(self) 是获取到self的类型,这样定义出的weakSelf就是和self一个类型的, 加上__weak是建立一个若引用,整句就是给self定义了一个若引用性质的替身;
    这个一般用在使用block时会用到,因为block会copy它内部的变量,可能会造成引用循环,使用__weak性质的self替代self,可以切断block对self的引用,避免循环引用 
  • 相关阅读:
  • 原文地址:https://www.cnblogs.com/wanshaoyong/p/5107628.html
Copyright © 2011-2022 走看看