关于Block的循环引用

2016-08-25  本文已影响10人  紫云夕月

为什么不用__block 是因为通过引用来访问self的实例变量 ,self被retain,block也是一个强引用,引起循环引用,用__week是弱引用,当self释放时,weakSelf已经等于nil。

Blocks可以访问局部变量,但是不能修改,如果修改局部变量,需要加__block

__weak typeof(self) weakSelf = self;

上一篇下一篇

猜你喜欢

热点阅读