Останавливает ли UIAcctivityIndicatorView анимацию самостоятельно, если она удалена / освобождена / освобождена - PullRequest
3 голосов
/ 25 мая 2011

Я использую UIActivityIndicator в accessoryView ячейки таблицы.На самом деле это подпредставление другого представления (которое является вспомогательным представлением ячейки), как показано ниже:

UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] 
    initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[anotherView addSubview:activityIndicator];
[activityIndicator startAnimating];
[activityIndicator release];
cell.accessoryView = anotherView;

В моем случае использования мне больше не нужен доступ к представлению индикатора.Также, если полное представление будет удалено (из-за закрытия ViewController), я не забочусь об этих UIActivityIndicators.

Так будет ли этот тип использования безопасным и не создаст никаких остатков памяти / ресурсов?Я проверил, что dealloc из UIActivityIndicatorView вызывается (и это так), поэтому я предполагаю, что анимация будет также автоматически остановлена ​​/ удалена, пока иерархия представления не будет уничтожена.

Является ли мое предположениеисправить?

1 Ответ

4 голосов
/ 25 мая 2011

Да, как только вы откажетесь от владения индикатором, иерархия представлений останется единственным владельцем.Если суперпредставление удаляется из иерархии представлений и не сохраняется в другом месте, суперпредставление освобождает все свои подпредставления.Если подпредставления достигают нулевого значения, они освобождаются.Это то, что происходит с вашим индикатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...