【问题标题】:UIWebView & NavigationController crashes while loadingUIWebView & NavigationController 在加载时崩溃
【发布时间】:2012-09-26 23:23:33
【问题描述】:

我有一个很奇怪的问题

我用 UIWebView 和 NavigationController 构建了一个简单的应用程序,但问题是当第二个页面正在加载时,我回到第一页并访问了一个链接,应用程序崩溃并且控制台什么也没说

这是我完成加载的代码

-(void)webViewDidFinishLoad:(UIWebView *)aWebView {
    NSString *str = [aWebView stringByEvaluatingJavaScriptFromString:@"document.title"];
    self.navigationItem.title = str; 
     [navigationActivity stopAnimating];
}

这个网页视图应该开始加载

if(navigationType == UIWebViewNavigationTypeOther)
    {
        NSURL *url2 = [request URL];
        NSString *URLStr = [url2 absoluteString];

        RootViewController* viewController = [[RootViewController alloc] init];
        NSString *holder = [self getQueryStringInner:URLStr];
        [self getQueryString:URLStr];
        if([holder length] != 0 && [flag length] != 0 && !facebook )
        {

            appDelegate.title =@"Title"; 
            appDelegate.query = queryString;
            appDelegate.url = holder; 

            [self.navigationController pushViewController:viewController animated:YES];
            [viewController release];
            return NO;
        }
}

我对 Objective-c 和 iOS 开发真的很陌生,所以任何帮助都将不胜感激

任何帮助

【问题讨论】:

  • 您是说当您从导航堆栈中弹出网页视图时,如果网页视图仍在加载,您的应用程序就会崩溃?
  • 我想你可能只需要在 viewWillDisappear 中调用 [webView stopLoading]。
  • @geraldWilliam 你是对的答案

标签: objective-c uiwebview uinavigationcontroller drilldown


【解决方案1】:

似乎必要的步骤是在您的 viewWillDisappear 中调用 [webView stopLoading]。显然,Web 视图委托正在将 webViewDidFinishLoading 方法消息发送到已释放的实例。很高兴你解决了。

【讨论】:

    猜你喜欢
    • 2011-05-27
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 2012-06-16
    相关资源
    最近更新 更多