不用weak来打破循环

之所以我们要在控制器中使用weak,是因为一般我们会这样做:

把block作为控制器的属性,在不block中使用self。这样就造成了当self想要释放的时候,block却持有它,导致self无法释放。因此我们如果不使用weak的haul还可以怎么办呢?

我们可以在页面消失的时候,把block属性置为nil。这样block就不再引用self了。也就意味着self要释放的时候,没有对象在引用它了。这样同样可以达到目的。

拓展:

AFNetworking中,不需要使用weak。这是为什么呢。因为,它在block回调后会将block置为nil。这样就导致了我们不需要使用weak了。依然不会出现内存泄漏。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 农历十三是我们这边的元宵节,在去年生的男孩今天都要在祠堂挂灯。
    张雪琴阅读 141评论 0赞 0
  • “迷茫者被命所运,觉悟者运转人生”。姚老师再一次的引领我走向觉悟,感谢姚老师的精彩讲解,使我不再迷茫。姚老师...
    明善_阅读 379评论 0赞 0
  • 当解析复杂的json结构时,ognl是一个很方便的工具,实现基于图对属性的访问,类似于以(user.name | ...
    思与学阅读 2,712评论 0赞 1

友情链接更多精彩内容