首页 > 代码库 > block 中使用 weakSelf
block 中使用 weakSelf
在实际开发中,很多时候都在 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。