在block中使用self会引起循环引用导致无法释放。
解决:
__weak typeof(self) weakSelf = self;
例如:
NSLog(@
"init--> value:%@,address=%p,self=%p"
,self.person,self.person,self);
myBlock1 = ^(
void
){
//这样不会造成循环引用
NSLog(@
"execute1--> value:%@,address=%p,weakSelf=%p"
,weakSelf.person,weakSelf.person,weakSelf);
};
不要在block中直接使用self,要先将self变为弱饮用。