Я пытаюсь создать UIAlertView «Пожалуйста, подождите», которое будет отображаться, когда мой код загружает и вычисляет некоторые данные, а затем исчезнет после его завершения.В частности, он анализирует XML-файл, который он получает от Geonames.org.
Предупреждение работает нормально, и перед моим кодом стоит оператор Show, за которым следует оператор dismiss.Моя проблема, однако, заключается в том, что экран тускнеет, как если бы он собирался показать предупреждение, анализирует и использует xml, затем появляется на долю секунды и закрывается, по существу делая предупреждение бесполезным!
Ниже приведенвыдержка из моего кода:
//Show Alert
UIAlertView *waitAlert = [[UIAlertView alloc] initWithTitle:@"Please Wait"
message:@"Determining your current suburb."
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil];
[waitAlert show];
//Activity Indicator
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityIndicator.center = CGPointMake(waitAlert.bounds.size.width / 2.0f, waitAlert.bounds.size.height - 40.0f);
[activityIndicator startAnimating];
[waitAlert addSubview:activityIndicator];
[activityIndicator release];
//Reverse Geocode
//Parse xml
NSURL *apiUrl = [[NSURL alloc] initWithString:@"http://api.geonames.org/findNearbyPlaceName?lat=-34.032188&lng=151.084494&username=l_plater"];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:apiUrl];
[xmlParser setDelegate:self];
[xmlParser parse];
[xmlParser release];
[apiUrl release];
[waitAlert dismissWithClickedButtonIndex:0 animated:YES];
[waitAlert release];
Я бы выполнил вычисления в фоновом потоке, но мне нужно, чтобы они были завершены до того, как пользователю будет разрешено продолжить.
Спасибо кучу заранее,любая помощь высоко ценится:)