2011-03-08 5 views
0

모달보기를 표시하는 응용 프로그램이 있습니다. 마지막 모달보기에는 양식이 있습니다. 완료 버튼을 클릭하면 사용자로부터 입력 된 값을 전달하는 웹 서비스가 호출됩니다. 응답을 받으면 모달 뷰가 닫힙니다. 나는 웹 서비스 호출이 많은 시간을 들여서 대기하도록 사용자에게 요청하는 경고 또는 조치 시트를 표시하고 싶습니다. 문제는보기가 닫힌 후에 만 ​​경고 또는 조치 시트가 표시된다는 것입니다. 왜 이런 일이 일어나는 걸까요? done 함수의 코드는 다음과 같습니다.모달보기에서 경고 표시

-(void)reg:(id)sender { 
    if([password length] == 0) { 
     //show alert 
    } 
    //other validation 
    //This is were I write the alert 
    UIActivityIndicator *activity = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle: 
                UIActivityIndicatorStyleWhite]; 
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Processing" delegate:self otherButtonTitles:nil]; 
    [alert addSubview:activity];  
    [activity startAnimating];  
    [alert show];   
    WebServiceController *web = [[WebServiceController alloc]init];   
    //webservice called 
    //getting the response 
    //dismissing alert here  
    [self dismissModalViewControllerAnimated:YES]; 
}
+0

경고 코드를 게시 할 수 있습니까? – visakh7

답변

0

알겠습니다. 모달보기에 문제가되지 않았습니다. 메인 스레드가 웹 서비스를 실행하기 때문에 경고가 차단됩니다. 웹 서비스 실행은 백그라운드에서 실행되어야합니다. 대답과 비슷한 질문에 대한 링크가 있습니다.

Showing alert while calling webservice

0

웹 서비스 응답에 대한 수신기 또는 알림을 작성해야합니다. NSUrlConnection을 사용하는 경우 대리자를 사용하여 응답을 받고 대리자 메서드에서 모달 뷰를 닫습니다. 사용중인 메소드에서 뷰는 웹 서비스 호출 직후 해지됩니다.

+0

나는 당신을 얻지 못했다. 나는 webservice 호출 전에 경고를 걸고있다. 경고를 표시하고 웹 서비스 호출을 수행하면 안됩니까? –

관련 문제