Ros*_*ssi 2 iphone loading back uiwebview
我的iphone应用程序中有一个带导航栏的视图.导航栏上有一个后退按钮,可以显示上一个视图.在视图中是webview.如果在用户按导航栏上的后退按钮时加载webview,则应用程序崩溃并显示错误消息:
[WebViewController respondsToSelector:]: message sent to deallocated instance
Run Code Online (Sandbox Code Playgroud)
我假设我在视图卸载时释放了一些东西.我相信我的viewWillDisapear方法负责停止加载webview ...但是,当我在视图未完全加载时按回来时,它会崩溃.
这似乎发生在我让视图完成加载大约20%的时间 - 并且只有在页面完成加载后我真的很快按下后退按钮.
这是我认为在这个shinanigans期间运行的代码....:
- (void)viewDidLoad {
[super viewDidLoad];
webView.scalesPageToFit = YES;
[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: url]]];
[addressBar setText:url];
}
Run Code Online (Sandbox Code Playgroud)
然后在加载webview时:
- (void)webViewDidStartLoad:(UIWebView *)webView {
if (first) {
//mtns is a uiimageview
mtns.alpha = .8;
first = NO;
}
[activityIndicator startAnimating];
}
Run Code Online (Sandbox Code Playgroud)
并在提出建议后,我添加了这个方法:
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.webView stopLoading];
self.webView.delegate = nil;
}
Run Code Online (Sandbox Code Playgroud)
我不知道它为什么会崩溃,所以我有点不知所措
谢谢,
[R
您可以覆盖-viewWillDisappear:以停止加载UIWebView并将委托设置为nil.
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.webView stopLoading];
self.webView.delegate = nil;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |