2

我想以编程方式创建一个 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 的结果。现在崩溃...

任何人都知道我的代码做错了什么?请回复。我真的很感谢你的回答。

4

1 回答 1

1

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

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

于 2012-07-20T06:47:04.220 回答