【问题标题】:Error When Creating UIWebView Programmatically以编程方式创建 UIWebView 时出错
【发布时间】:2012-07-20 06:33:34
【问题描述】:

我想以编程方式创建一个 WebView。我试图搜索谷歌,结果是我应该在我的 viewDidLoad 中编写这些代码:

NSURL *url=[NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];

webView=[[UIWebView alloc] initWithFrame:CGRectMake(0,100,968,875)];
webView.backgroundColor=[UIColor whiteColor];
[webView loadRequest:request];

我做了同样的事情,当我运行它时,我得到了 EXC_BAD_ACCESS 并带有以下异常消息:

试图从主线程或web线程以外的线程获取web lock。这可能是从辅助线程调用 UIKit 的结果。现在崩溃了……

有人知道我的代码做错了什么吗?请回复。非常感谢您的回答。

【问题讨论】:

    标签: ios xcode exception uiwebview


    【解决方案1】:

    在任何情况下,您都不应该从主线程以外的线程访问 UI(动画、警报视图、新视图控制器等)。很可能您在某种选择器中初始化 WebView,这不是主线程。

    尝试重建您的应用程序或使用 performSelectorOnMainThread。 如果您可以提供更多代码,我愿意提供更多帮助。

    【讨论】:

    • 感谢您的回复。我的朋友昨天告诉我,将 dispatch_async(dispatch_get_main_queue(), ^{ ... } 添加到我创建 WebView 的代码中,它可以完美运行..
    猜你喜欢
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多