J'utilise NSMutableURLRequest pour me connecter à un site Web afin d'obtenir une réponse JSON. Je le fais en générant la demande, puis en utilisant NSURLConnection avec un délégué de self pour gérer la connexion asynchrone. Je l'ai mis en œuvre toutes les méthodes déléguées normales:Gestion d'une requête NSURL avec le délai d'attente lors de l'utilisation du délégué
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
Tout fonctionne parfaitement avec l'obtention de données en arrière, traiter toutes les erreurs qui se produisent, etc. Cependant, avec le délai d'attente sur le NSURLRequest fixé à 10 secondes, je ne semble pas pour être appelé dans ces méthodes (je m'attendais à ce que didFailWithError soit appelé). Il se trouve juste là pour toujours et je n'ai aucune notification qu'il a expiré.
Lire les documents de l'API de l'iPhone Je ne vois aucune mention de ce que devrait arriver quand le délai d'attente se produit, juste que vous pouvez définir la valeur du délai d'attente. Que devrait-il se passer? Je n'ai vu aucune autre méthode de délégué dans l'API qui pourrait aider. Je n'ai pas à vérifier manuellement les délais, n'est-ce pas? Les délais d'attente sont-ils uniquement pour les demandes synchrones?
Je suis d'accord avec Corey que je devrais l'obtenir dans la méthode didDailWithError, mais elle ne sera jamais appelée. Les points d'arrêt et les journaux de cette méthode indiquent qu'elle n'est jamais appelée pour un délai d'expiration. – Parrots
Pour plus de contexte, au cas où cela ferait une différence, j'utilise la méthode dont il est question dans la réponse de http://stackoverflow.com/questions/332276/managing-multiple-asynchronous-nsurlconnection-connections pour suivre les connexions I avoir exceptionnel. – Parrots
Je dirais que cela pourrait avoir été un bug dans le SDK bêta de 3.0, car dès que la version finale a été publié, il a fonctionné comme prévu. – Parrots