首页 > 其他 > 详细

block 中使用 weakSelf

时间:2016-12-02 02:18:26      阅读:197      评论:0      收藏:0      [点我收藏+]

在实际开发中,很多时候都在 block 中使用 weakSelf。那么什么时候需要使用 weakSelf,什么时候又不需要使用呢?

答案:当 block 不再被 self 持有,被其他对象所持有的时候,就不需要使用 weakSelf,举个例子,我们使用 UIView 的动画的时候,也就是

animateWithDuration的时候,就并不需要使用 weakSelf,因为他们的持有关系是,1.UIView 中某个负责动画的对象持有了 self 2.block 持有了 self,而不是 self 持有 block,因此并没有产生循环引用的问题。所以不需要使用 weakSelf。

当动画结束的时候,UIView 会结束持有这个 block,如果没有其他对象持有 block,block 会被释放,block 也会释放掉对self 的持有,整个内存引用关系被解除。

block 中使用 weakSelf

原文:http://www.cnblogs.com/hkyangvip/p/6124059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!