Question

Lorsque l'initialisation NSXLParser comme suit:

NSXMLParser* xmlParser=[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:urlstring]];

si le serveur est en panne, il attendra un certain temps avant le retour du fil. Il est vraiment gênant, même si je quitte l'application et redémarrez l'application, il continuera d'attendre avec un écran noir jusqu'à son expiration.

Comment j'annuler l'initialisation? Y at-il une meilleure façon de vérifier si le serveur est avant d'appeler l'analyseur? Merci pour ton aide.

Était-ce utile?

La solution

Vous devez utiliser NSURLConnection et ses délégués à télécharger à un type NSData. Ensuite, vous pouvez contrôler la connexion correctement. De là, vous pouvez passer le NSData au NSXMLParser et contrôler séparément. Je l'espère vous aider.

Autres conseils

J'ai fini par utiliser un UIWebView pour demander l'URL d'abord. Si elle termine le chargement, je puis appeler la xmlparser pour demander la même URL à nouveau. La chose gentille au sujet de la demande UIWebView est qu'il fonctionne sur un thread différent si l'interface utilisateur ne gèle pas.

Ce n'est pas idée; Je déteste demander la même URL deux fois. Si vous avez une meilleure suggestion, s'il vous plaît aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top