https://gist.github.com/SeanChense/b4dfb7db4e983e88e963
这样调用的话会引起 self 的循环引用吗?
1
tane05 2015-08-06 20:38:37 +08:00 via iPhone 1
不会,block捕获的是它作用域的变量.
|
2
CDuXZMAPgHp1q9ew 2015-08-06 20:58:37 +08:00
加了weakself肯定不会
但是 用self 也可能不会引起循环引用, 和 `foo handle:^{}` 的实现有关 |
3
pengjay 2015-08-06 21:34:22 +08:00
不会
|
4
SeanChense OP @wujichao 怎么讲?
|
5
SeanChense OP |
6
banxi1988 2015-08-07 14:04:46 +08:00 1
一般比较更好一写法是:
```objc [foo handler: ^{ id strongself = weakself; if(strongself){ [strongself doSomething]; // 直接用 weakself 有可能 crash,因为其可能变成了野指针 } }]; ``` |