问题描述
|
我在表格单元的annexView中使用UIActivityIndicator。实际上,它是另一个视图的子视图(它是单元格的附件视图),如下所示:
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[anotherView addSubview:activityIndicator];
[activityIndicator startAnimating];
[activityIndicator release];
cell.accessoryView = anotherView;
对于我的用例,我不再需要访问指标视图。另外,如果将删除整个视图(由于关闭了ViewController),则我不在乎那些UIActivityIndicators。
那么,这种使用方式是否安全并且不会产生任何内存/资源剩余?我已经检查过,(称为)了UIActivityIndicatorView
中的ѭ1is,所以我认为在销毁视图层次结构的同时,动画也将自动停止/删除。
我的假设正确吗?
解决方法
是的,一旦您放弃了指标的所有权,视图层次结构仍然是唯一的所有者。如果将超级视图从视图层次结构中删除,并且未在其他位置保留,则超级视图将释放其所有子视图。如果子视图的保留计数为零,则将其释放。这就是您的指标视图正在发生的事情。