block内使用self的时候都有可能会产生循环引用的问题。
self可能会对外部变量有强引用,导致其无法释放产生循环引用的问题。
判断方法:
借助dealloc判断是否循环引用,
-(void)dealloc
{
NSLog(@"已销毁");
}
解决方法:
1、在block外:
__weak typeof(self)weakSelf = self;
2、在block内用weakSelf代替self
block内使用self的时候都有可能会产生循环引用的问题。
self可能会对外部变量有强引用,导致其无法释放产生循环引用的问题。
判断方法:
借助dealloc判断是否循环引用,
-(void)dealloc
{
NSLog(@"已销毁");
}
解决方法:
1、在block外:
__weak typeof(self)weakSelf = self;
2、在block内用weakSelf代替self