Estoy usando una NSMutableURLRequest para conectarme a un sitio web y obtener una respuesta JSON. Lo estoy haciendo generando la solicitud y luego usando NSURLConnection con un delegado de mi mismo para manejar la conexión asíncrona. He implementado todos los métodos normales de delegado:Manejo de una solicitud de NSURL con tiempo de espera al usar el delegado
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
Todo funciona a la perfección con la obtención de datos de nuevo, que trata de los errores que se producen, etc. Sin embargo, con el tiempo de espera en la NSURLRequest establece en 10 segundos Parece que no estoy ser llamado en esos métodos (esperaba que se llamara a didFailWithError). Solo queda ahí para siempre y no tengo ninguna notificación de que haya agotado el tiempo.
Lectura de los documentos API de iPhone No veo ninguna mención de qué debe pasar cuando se agota el tiempo de espera, solo que puede establecer el valor de tiempo de espera. ¿Qué debería pasar? No vi ningún otro método delegado en la API que ayudaría. No tengo que verificar manualmente los tiempos de espera, ¿verdad? ¿Los tiempos de espera solo son para solicitudes sincrónicas?
Corey estoy de acuerdo en que debería obtenerlo en el método didDailWithError, pero nunca se llama. Tanto los puntos de interrupción como los registros dentro de ese método muestran que nunca se solicitó un tiempo de espera excedido. – Parrots
Para obtener más contexto, en caso de que haga una diferencia, estoy usando el método mencionado en la respuesta para http://stackoverflow.com/questions/332276/managing-multiple-asynchronous-nsurlconnection-connections para hacer un seguimiento de las conexiones I tener destacado. – Parrots
Parece que esto podría haber sido un error en el SDK beta de 3.0, porque tan pronto como se lanzó la versión final, funcionó como se esperaba. – Parrots