Perhaps you should show this dialog like you are and use another method of the NSXMLParser to continue your application if it is available.
- (void)parserDidEndDocument

NSXMLParser *)parser
What causes your app to move forward and try to use the array now?
Until this method is called perhaps you should just present a UIActivityIndicatorView.