一、原因:
在block中调用self会引起循环引用,但是在block中需要对weakSelf进行strong,保证代码在执行到block中,self不会被释放,当block执行完后,会自动释放该strongSelf。
二、方法:
在block外使用
__weak __typeof(self)weakSelf = self;
在block内使用
__strong __typeof(weakSelf)strongSelf = weakSelf;
在block中调用self会引起循环引用,但是在block中需要对weakSelf进行strong,保证代码在执行到block中,self不会被释放,当block执行完后,会自动释放该strongSelf。
在block外使用
__weak __typeof(self)weakSelf = self;
在block内使用
__strong __typeof(weakSelf)strongSelf = weakSelf;