2012-07-20 8 views
2

프로그래밍 방식으로 WebView를 만들고 싶습니다. 나는 구글을 검색하기 위해 노력하고 결과는 내가있는 viewDidLoad에서 다음 코드를 작성해야입니다 :프로그래밍 방식으로 UIWebView를 만들 때 오류가 발생했습니다.

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를 가지고 : 시도

주 스레드 또는 웹 스레드 이외의 스레드에서 웹 잠금을 얻으십시오. 이것은 보조 스레드에서 UIKit을 호출 한 결과 일 수 있습니다. 지금 오류가 발생했습니다 ...

누구든지 내 코드에 무슨 문제가 있습니까? 회신 해주십시오. 나는 정말로 당신의 대답에 감사드립니다. 어떤 경우

답변

1

, 당신은 UI (애니메이션, 경고 뷰, 새로운 뷰 컨트롤러 등) 메인 쓰레드가 아닌 다른 스레드에서 에 접근해서는 안된다. 대부분 당신이 어떤 종류의 셀렉터에서 WebView를 초기화 할 것인데 이것은 메인 스레드가 아닙니다.

앱을 다시 작성하거나 performSelectorOnMainThread를 사용해보세요. 더 많은 코드를 제공 할 수 있다면 저는 더 많은 것을 기꺼이 도울 것입니다.

+1

답변 해 주셔서 감사합니다. 제 친구가 어제 제게 WebView를 생성하는 코드에 dispatch_async (dispatch_get_main_queue(),^{ ... } 을 추가하고 완벽하게 작동합니다. – aswin

관련 문제