J'utilise un NSMUTABLEURLREQUEST pour vous connecter à un site Web pour obtenir une réponse JSON. Je le fais en générant la demande, puis en utilisant NsurlConnection avec un délégué de soi pour gérer la connexion ASYNC. J'ai mis en place toutes les méthodes de délégué normales:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error - (void)connectionDidFinishLoading:(NSURLConnection *)connection
5 Réponses :
Mettez quelques déclarations de journal dans chaque méthode et vérifiez ce qu'elles donnent. Chaque fois que cela parte, vous obtenez définitivement une notification sur la console sur le délai d'attente. Je reçois cette notification. Vérifiez votre code et si vous avez toujours des problèmes, laissez-nous savoir. P>
u BR recevra un tel type d'iofo: p>
in a échoué avec p>
Erreur: Domaine d'erreur = NSURLERRORDOMAIN Code = -1001 userinfo = 0xed4870 "expiré" p> blockQuote>
Remarque nsurlerrortimedout = -1001 code>
Votre délai d'attente est reçu dans cette méthode:
Comment pouvez-vous tester pour le délai? Cela semble être un gestionnaire d'erreur générique.
Le comportement du délai d'attente est un peu bizarre, voir Ce fil sur les forums de développeur d'Apple. < / p>
Ce fil est génial! Merci! Notez que le thread vous donne une référence à développeur.apple.com/library/mac/#documentation/cocoa/referen CE / ... , qui répertorie toutes les erreurs du Nsurlerdomain
Ce que j'ai fait était ceci: comme indiqué avant -1001 est pour le délai d'attente, dans d'autres tests, j'ai GOT -1003 (pour une mauvaise URL ou aucune connexion disponible). P> Je visitais à traiter le temps d'attente pour tout ce que j'ai traité comme une mauvaise url. p> p>
Je suis d'accord Corey que je devrais l'obtenir dans la méthode DiddailwithError, mais cela ne s'appelle jamais. Les points d'arrêt et les bûches dans cette méthode montrent qu'il n'est jamais appelé à un délai d'attente.
Pour plus de contexte, l'incile que cela fait une différence, j'utilise la méthode parlée dans la réponse pour Stackoverflow.com/Questtions/332276/... pour garder une trace des connexions que j'ai exceptionnelle.
On dirait que cela aurait pu être un bug dans la bêta SDK de 3,0, car dès que la finale a été publiée, cela fonctionnait comme prévu.