iOS: Должен ли я вызвать -stopLoading перед выпуском UIWebView? - PullRequest
1 голос
/ 10 июня 2011

Нужно ли делать:

[webView stopLoading];
self.webView = nil;

Или я могу пропустить первую строку? То есть -[UIWebView dealloc] звонит ли вам -stopLoading? 1006 *

Ответы [ 2 ]

4 голосов
/ 11 июня 2011

-stopLoading может быть необязательным, поскольку загрузка выполняется в отдельном потоке, где сохраняется uiwebview (как обратный вызов веб-запроса afaik). если вы выпустите uiwebview (например, в методе -viewDidUnload), я почти уверен, что он прекратит загрузку, но когда он прекратит загрузку, он вызовет своего делегата .
Это не удастся , если вы не установите yourWebView.delegate = nil, поскольку свойство делегата определено как свойство assign-, и, следовательно, не сохраняет ваш объект делегата (наиболее вероятно, uiviewcontroller). если не установить для делегата значение nil, это приведет к EXEC_BAD_ACCESS (вы можете фактически убить некоторые приложения, в которых вы можете очень быстро переключаться между подпредставлениями, содержащими веб-просмотры - они освобождаются до того, как заканчивают загрузку, и пытаются вызвать делегата-зомби). то же самое относится и к MKMapView!

0 голосов
/ 10 июня 2011

Веб-просмотр перестанет загружаться, вам не нужно вызывать stopLoading.Это не остановлено в dealloc все же.Я считаю, что он останавливается, когда его удаляют из своего суперпредставления.

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