Я использую метод делегата shouldStartLoadWithRequest
, чтобы перехватывать клики по ссылкам и обрабатывать определенные случаи внутри моего приложения вместо того, чтобы разрешать webView
переходить к связь. В этом коде я пытаюсь поместить в стек новый ViewController
.Сразу после попытки отправить представление я получаю сбой со следующим сообщением в моей консоли:
WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:
Мой код выглядит следующим образом:
-(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;
}
Я также пробовал использовать модальное окно вместо того, чтобы нажимать новый viewController
. Получаю тот же результат. Есть ли какие-то другие сценарии, которые я должен здесь обработать?
** Edit: Просто подумал об этом. Представление, которое я пытаюсь выдвинуть, содержит еще один UIWebView
. Должен ли я что-то делать с первым webView
перед переходом? Я просто тестировал запуск другого контроллера представления, который не содержит webView
, и он работал нормально.