老师您好,我想问一下图中这种情况下,self有没有必要加__weak?

来源:7-5 Block循环引用相关面试问题&面试总结

树那边

2019-05-26

特别是圈的第二个self(可以确定的是doSomething这个方法只会在上面这里被调用)也就是说doSomething中用到的这个self是不是上面的那个weakSelf图片描述

写回答

1回答

于海

2019-06-04

没有必要加weak。并且!!!注意并且 代码截图中的dispatch_async方法提交的block是不会产生循环引用的,因此也不需要加weak

0
1
sai1024
老师,是因为 self 没有持有 dispatch_async 的 block,所以没有发生循环引用吗?还是因为这个 block 是作为函数的参数,是在栈区,不会 copy 到堆上,所以没有发生循环引用?
2019-07-10
共1条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程