Отображение оповещения в модальном представлении - PullRequest
0 голосов
/ 08 марта 2011

У меня есть приложение, которое отображает модальные виды.В последнем модальном виде у меня есть форма.После нажатия кнопки «Готово» вызывается веб-служба, которая передает значения, введенные пользователем.После получения ответа модальное представление отклоняется.Я хотел бы отобразить предупреждение или лист действий с просьбой подождать, поскольку вызов веб-службы занимает много времени.Проблема заключается в том, что лист предупреждения или действия отображается только после того, как представление отклонено.Почему это происходит?Вот код для выполненной функции:

-(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];
}

Ответы [ 2 ]

0 голосов
/ 09 марта 2011

Я понял. Это не было проблемой с модальными представлениями. Предупреждение блокируется, потому что основной поток выполняет веб-сервис. Выполнение веб-службы должно выполняться в фоновом режиме. Вот ссылка на похожий вопрос с ответом.

Отображение оповещения при вызове веб-службы

0 голосов
/ 08 марта 2011

Вы должны написать слушателя или уведомление для ответа веб-службы. Если вы используете NSUrlConnection, используйте его делегат для получения ответа и отклоните модальное представление от метода делегата. В методе, который вы используете, представление закрывается сразу после вызова веб-службы

...