一、dealloc调用详解。
1、//ARC中不能识别__block,要用__weak标记
__weak TwoViewController *this = self;
_block = ^{
[this dismissViewControllerAnimated:YES completion:NULL];
// 或者 this = nil;
};
注意:不使用__weak标记,self不能正常释放,导致内存泄露不会调用dealloc. 在block中处理请求结果也可能会导致内存泄露,可抽出一个方法单独处理。
2、对象安全释放一定会调用dealloc,如果没有调用则出现内存泄露。
- (void)dealloc
{
NSLog(@"调用了dealloc,安全释放%@ ",self);
}
[request cancel];
4、继承父类的控制器销毁,父类的dealloc和子类的dealloc都会调用。