我有UIWebView
将加载文件。为webview提到的所有支持的文档都可以使用。但有时候,每当我快速来回移动时,UIWebView
就会崩溃。我的意思是我一次又一次地点击返回并打开文件。如果我这样做,我的应用程序就会崩溃。
知道为什么会这样吗?它对于视频,音频和txt文件很有用,但对于Office文档和数字,页面文档来说很奇怪。
请帮帮我!!
-(void) backBtnPressed
{
[_webView stopLoading];
if ([_webView superview])
{
[_webView removeFromSuperview];
self.navigationItem.rightBarButtonItem = nil;
}
}
- (void) loadFile:(NSString*)filePath
{
NSURL* url = [NSURL fileURLWithPath:filePath];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[webView setScalesPageToFit:YES];
}
答案 0 :(得分:0)
在控制器的dealloc中将webview的delegate属性设置为nil
答案 1 :(得分:0)
如果要从一个视图控制器移动到另一个视图控制器,请执行以下操作
[webView stopLoading];
webView.delegate = nil;
答案 2 :(得分:0)
实现这一点并确定你得到的错误。
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog("Error=%s",error);
}
答案 3 :(得分:0)
问题解决了。将UIWebView设置为nil并再次在WebView中加载请求。但现在只有在最糟糕的情况下,应用程序才会崩溃。
答案 4 :(得分:0)
试试这个:
-(void)viewWillDisappear:(BOOL)animated
{
if([webView isLoading])
{
[webView stopLoading];
}
}
答案 5 :(得分:0)
这里只是添加了这个,因为其他人犯了同样的初学者错误:
请记住,webView.delegate
是弱引用。如果你将它设置为self
之外的其他东西,如果没有其它引用,你的委托可能会被销毁,这将导致各种崩溃。
答案 6 :(得分:-1)
尝试执行以下操作。它对我有用。
[webView stopLoading];
[webView release];
webView = nil;
webView.delegate = nil;