Мне нужно проанализировать некоторый XML, который запускает NSURLConnection.После завершения анализа я получаю некоторые данные и затем устанавливаю контроллер корневого представления.Моя проблема заключается в том, что application: didFinishLaunchingWithOptions: возвращается до метода composeRootController, и возникает ошибка, поскольку приложение не может найти корневой контроллер представления.Как я могу ждать, пока composeRootController вернется?
Мой код следующий:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self xmlConnect];
return YES;
}
здесь функция xmlConnect реализована для анализа
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
//convertim la data a string
NSString *receivedDataAsString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
NSLog(@"connectionDidFinishLoading %@", receivedDataAsString);
//xml parsing
xmlParser = [[NSXMLParser alloc] initWithData:receivedData];
[xmlParser setDelegate:self];
self.receivedData = nil;
BOOL success = [xmlParser parse];
if(success)
NSLog(@"No Errors");
else
NSLog(@"Error Error Error!!!");
[self composeRootController];
}
здесь composeRootController устанавливает rootcontroller