2

プログラムで WebView を作成したい。Google を検索しようとした結果、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 ロックを取得しようとしました。これは、セカンダリ スレッドから UIKit を呼び出した結果である可能性があります。現在クラッシュ中...

私のコードで何が間違っていたのか、誰にも分かりますか? 返信してください。あなたの答えに本当に感謝します。

4

1 に答える 1

1

いずれにしても、 Main Thread 以外のスレッドからUI (アニメーション、アラート ビュー、新しいビュー コントローラーなど) にアクセスしないでください。ほとんどの場合、メインスレッドではない何らかのセレクターで WebView を初期化します。

アプリを再構築するか、performSelectorOnMainThread を使用してください。より多くのコードを提供できる場合は、さらに喜んでお手伝いします。

于 2012-07-20T06:47:04.220 に答える