Дождитесь выполнения действия перед загрузкой detailsView - PullRequest
0 голосов
/ 02 августа 2011

в моем приложении, я загружаю detailsView из tableView.Мне нужно получить XML-документ (с SOAP), проанализировать его, а затем отобразить информацию, которую я получил в моем detailsView.Итак, при загрузке моего detailsView я хочу дождаться, пока синтаксический анализатор проанализирует весь документ ПЕРЕД отображением моего detailsView.

. В моем анализаторе я использую NSURLConnection и методы NSXMLParserDelegate вроде parserDidStartDocument и т. д. *

Я думал об использовании потоков, но я не получаю ничего окончательного.

Я пытаюсь понять, чего я хочусделать, но это довольно сложно: s

Я предоставлю больше информации, если необходимо.

1 Ответ

0 голосов
/ 02 августа 2011

Вы можете сделать это либо в методе viewDidLoad, либо в методе viewWillAppear, но вы должны сделать все элементы управления подробным представлением скрытыми до тех пор, пока они не загрузят данные с сервера, а затем отобразить их, когда вы получите ответ от анализатора со значением, которое вы получите в ответе.Вы можете показать индикатор загрузки, пока вы анализируете свой ответ.Вы должны называть свой URL-адрес асинхронно.

Сделайте что-то подобное в вашем методе viewWillAppear:

NSURL *url = [NSURL URLWithString:@"www.yourwebserviceurlhere.com"];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

Реализуйте методы делегата соединения.

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;

После того, как вы FinishLoadingData и получили ответ, вам нужно проанализировать ваши данные с помощью метода делегата XMLParser, а когда вы закончили синтаксический анализ, вам нужно показать подробное представление.

Вот и все.Надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...