如何创build然后销毁一个类文件内的UIWebView

我试图在启动应用程序时在类文件中dynamic创build一个UIWebView。

我已经成功地得到了一个函数,在启动时在该类文件中被调用,但是当我添加代码来创buildwebview到该函数,我得到的错误是这样的:“ 试图从一个线程以外的网页锁主线程或Web线程,这可能是从辅助线程调用UIKit的结果。现在崩溃…

我的代码来创buildUIWebView是这样的:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 16, 16)]; [webView setDelegate:self]; [webView setHidden:YES]; NSURL *url = [NSURL URLWithString:address]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; [webView loadRequest:urlRequest]; 

我哪里错了?

您正在从后台线程创buildwebview,这是Apple不允许的,并导致您的应用程序崩溃。
您应该使用dispatch_async从主线程创build您的webview:

 dispatch_async(dispatch_get_main_queue(), ^{ UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 16, 16)]; [webView setDelegate:self]; [webView setHidden:YES]; NSURL *url = [NSURL URLWithString:address]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; [webView loadRequest:urlRequest]; });