我正在使用委托方法shouldStartLoadWithRequest
来捕获链接点击并处理我的应用程序内的特定情况,而不是允许webView
导航到链接.在这段代码中,我试图将一个新的ViewController
推入堆栈.在尝试推送视图后,我立即在控制台中看到以下消息:
WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if(decision logic){
MyViewController *vc = [[MyViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
[vc release];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我也试过使用模态而不是推新viewController
.我得到了相同的结果.我应该在这里处理其他任何场景吗?
**编辑:想到这个.我试图推动的视图包含另一个视图UIWebView
.我应该webView
在过渡之前做些什么吗?我只是测试推送一个不包含a的不同视图控制器,webView
它工作正常.
我目前正在使用GET获取有关文件的信息,如果我使用HEAD请求重写它会更快吗?原因我在第一次响应后关闭连接.