iOS 5 UIWebview Délégué: WebKit jeté une exception non interceptée dans la webView:decidePolicyForNavigationAction

Je suis en utilisant la méthode du délégué shouldStartLoadWithRequest pour attraper le lien de clics et de gérer des cas particuliers à l'intérieur de mon app au lieu de permettre la webView pour naviguer vers le lien. Dans ce code, je suis en tentant de pousser un nouveau ViewController sur la pile. Immédiatement après la tentative de pousser la vue, j'ai eu un crash avec le message suivant s'affiche dans ma console:

WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate:

Mon code ressemble à ceci:

-(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;
}

J'ai aussi essayé à l'aide d'un modal au lieu de pousser une nouvelle viewController. J'obtiens le même résultat. Est-il d'autres scénarios, je dois être la manipulation ici?

**Edit: Viens de penser à cela. Le point de vue, je suis en train de pousser en contient une autre UIWebView. Devrais-je faire quelque chose pour la première webView avant de faire la transition? Je viens de tester en poussant un point de vue différent du contrôleur qui ne contient pas de webView et il a bien fonctionné.

OriginalL'auteur Mark Struzinski | 2011-10-25