Нужно выпустить UIWebView Delegate? - PullRequest
1 голос
/ 31 марта 2010

У меня есть UIWebView с именем wView. Я хочу использовать webViewDidFinishLoad: в своем классе, поэтому я устанавливаю класс в качестве делегата для wView, используя эту строку:

wView.delegate = self;

Все загружается правильно, но когда я закрываю UIWebView, приложение вылетает. Если я закомментирую wView.delegate = self, он работает и не падает, но тогда я не могу использовать webViewDidFinishLoad: - есть идеи? Нужно ли что-то выпустить?

Ответы [ 2 ]

4 голосов
/ 31 марта 2010

В справочнике UIWebView написано:

Внимание! Перед выпуском экземпляра UIWebView, для которого вы установили делегат, вы должны сначала установить для его свойства делегата значение nil. Это можно сделать, например, в вашем методе dealloc.

0 голосов
/ 31 марта 2010

Убедитесь, что для делегата установлено значение nil (wView.delegate = nil). Это предотвратит попытки веб-просмотра получить доступ и вызвать методы на контроллере представления dealloc, что приведет к падению.

...