码迷,mamicode.com
首页 > 其他好文 > 详细

关于block中使用weakSelf和strongSelf的问题

时间:2016-03-29 14:37:56      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

有时候我们会碰到这种情况,

__weak typeof(self) weakSelf = self;

[obj block:^(){

  __strong typeof(weakSelf)strongSelf = weakSelf;

}];

我们都知道第一句是为了解决block的循环引用问题,那么在block中的语句是干什么用的呢?

 

网上查阅资料知道:

在block中调用self会引起循环引用,但是在block中需要对weakSelf进行 strong,保证代码在执行到block中,self不会被释放,当block执行完后, 会自动释放该strongSelf;

因为仅仅使用__weak去修饰变量,当别处把变量释放后,block中该变量也会被释放掉。

关于block中使用weakSelf和strongSelf的问题

标签:

原文地址:http://www.cnblogs.com/cranz-jf/p/5332463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!