iOS 8 UIWebview 委托:WebKit 在 webView:didFinishLoadForFrame 中丢弃了一个未捕获的异常:
iOS 8 UIWebview Delegate: WebKit discarded an uncaught exception in the webView:didFinishLoadForFrame:
有时我的应用程序运行良好,但有时会因以下错误而失败:
* WebKit discarded an uncaught exception in the webView:didFinishLoadForFrame: delegate: * -[__NSArrayM objectAtIndex:]: index 6 beyond bounds [0 .. 5]
我在 WebKit 中发现了一些关于异常的其他问题,但没有人使用 NSRangeException
。
我的代码:
- (id) init {
myWebView = [[UIWebView alloc] init];
myWebView.delegate = self;
[myWebView stopLoading];
return self;
}
- (void)loadUrl:(NSString *)urlAddress {
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[myWebView stopLoading];
[myWebView loadRequest:requestObj];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
if (!myWebView.isLoading) {
[myWebView stopLoading];
if (selectedInfo == LOADTable) {
NSString *html = [NSString stringWithFormat:@"%@",[myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]];
[myWebView stopLoading];
[self parseTable:html];
}
}
}
有没有人知道如何解决这个错误。
UIWebView
未显示在任何 UIView
上。只是为了加载 HTML。
我认为崩溃发生在 [self parseTable:html];因此检查此行的断点并确认。如果为真,则在此方法中进行调试
请问post parseTable:
方法的代码。此外,在调用 parseTable:
方法之前,请确保对 html 字符串进行 nil 检查。在 parseTable:
方法中,请确保在调用 objectAtIndex:
方法之前对 NSArray 计数进行安全检查。看起来您正在尝试从仅包含 6 个项目(最大索引 5)的 NSArray 访问第 7 个项目(索引 6)。
有时我的应用程序运行良好,但有时会因以下错误而失败:
* WebKit discarded an uncaught exception in the webView:didFinishLoadForFrame: delegate: * -[__NSArrayM objectAtIndex:]: index 6 beyond bounds [0 .. 5]
我在 WebKit 中发现了一些关于异常的其他问题,但没有人使用 NSRangeException
。
我的代码:
- (id) init {
myWebView = [[UIWebView alloc] init];
myWebView.delegate = self;
[myWebView stopLoading];
return self;
}
- (void)loadUrl:(NSString *)urlAddress {
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[myWebView stopLoading];
[myWebView loadRequest:requestObj];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
if (!myWebView.isLoading) {
[myWebView stopLoading];
if (selectedInfo == LOADTable) {
NSString *html = [NSString stringWithFormat:@"%@",[myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]];
[myWebView stopLoading];
[self parseTable:html];
}
}
}
有没有人知道如何解决这个错误。
UIWebView
未显示在任何 UIView
上。只是为了加载 HTML。
我认为崩溃发生在 [self parseTable:html];因此检查此行的断点并确认。如果为真,则在此方法中进行调试
请问post parseTable:
方法的代码。此外,在调用 parseTable:
方法之前,请确保对 html 字符串进行 nil 检查。在 parseTable:
方法中,请确保在调用 objectAtIndex:
方法之前对 NSArray 计数进行安全检查。看起来您正在尝试从仅包含 6 个项目(最大索引 5)的 NSArray 访问第 7 个项目(索引 6)。