У меня есть представление с панелью навигации в моем приложении iphone.На панели навигации есть кнопка «Назад», чтобы перейти к предыдущему виду.В представлении есть веб-просмотр.Если веб-просмотр загружается, когда пользователь нажимает кнопку «Назад» на панели навигации, приложение вылетает с сообщением об ошибке:
[WebViewController respondsToSelector:]: message sent to deallocated instance
Я предполагаю, что я освобождаю некоторые вещи, когда представление загружается.Я полагаю, что мой метод viewWillDisapear заботится о том, чтобы остановить загрузку веб-просмотра ... Но, тем не менее, когда я нажимаю назад, когда представление не полностью загружено, происходит сбой.загрузка примерно в 20% случаев - и только если я действительно нажимаю кнопку «назад» очень быстро после завершения загрузки страницы.
Вот код, который, я считаю, работает во время этого shinanigans ....:
- (void)viewDidLoad {
[super viewDidLoad];
webView.scalesPageToFit = YES;
[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: url]]];
[addressBar setText:url];
}
, а затем при загрузке веб-просмотра:
- (void)webViewDidStartLoad:(UIWebView *)webView {
if (first) {
//mtns is a uiimageview
mtns.alpha = .8;
first = NO;
}
[activityIndicator startAnimating];
}
и после предложения я добавил этот метод:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.webView stopLoading];
self.webView.delegate = nil;
}
Я не знаю, почему происходит сбойтак что я как бы в растерянности
Спасибо,
R