iOS Block循环引用检测

控制器中Block的循环引用往往会导致退出当前控制器,但是该控制器没有释放掉。根据这一点,我们可以在dealloc方法中打印日志来检测控制器中是否出现循环引用。如果dealloc日志没有打印出来说明出现了循环引用。

进入控制器的时候打印日志

- (void)viewDidAppear:(BOOL)animated {
  [super viewDidAppear:animated];
  
  NSLog(@"进入控制器:%@", [[self class] description]);
}

退出控制器的时候打印日志

- (void)dealloc {
  NSLog(@"控制器被dealloc: %@", [[self class] description]);
}

参考文章:http://www.cnblogs.com/Horkly/p/5475928.html

你可能感兴趣的:(iOS开发)