这会导致块泄漏吗?

时间:2016-06-20 11:23:44

标签: ios iphone objective-c-blocks

这些代码中的任何一个会导致块在内存中被永久分配吗?我的意思是,块内的参考对于外面强大的旋转器?

UIActivityIndicatorView *spinner = (UIActivityIndicatorView *)[cell viewWithTag:1];

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
  [spinner startAnimating];
}];

UIActivityIndicatorView *spinner = (UIActivityIndicatorView *)[cell viewWithTag:1];

[self.queue addOperationWithBlock:^{
  [spinner startAnimating];
}];

1 个答案:

答案 0 :(得分:0)

不,不会。微调器由其超级视图拥有。变量微调器可能是局部变量,因此一旦它超出范围,它就会停止保留微调器。同样,块运行一次然后停止,因此一旦完成它就不会保留微调器。