iphone ios ipad nsurlconnection asihttprequest

iphone - ¿Por qué debería preferir ASIHTTPRequest en lugar de NSURLConnection para descargar archivos de la web?



ios ipad (4)

En mi humilde opinión se reduce a la facilidad de uso para el programador. Es muy fácil trabajar con él y está increíblemente bien documentado. Puede usar colas y administrar su estado fácilmente a través de la delegación.

Fuera del alcance de los archivos, es más fácil manejar la delegación de respuestas mediante ASI en comparación con las clases incorporadas en NSURL.

He visto un par de veces de personas que usan ASIHTTPRequest para descargar archivos. Ahora me pregunto por qué? ¿Cuáles son los beneficios principales sobre NSURLConnection?


Hay varias razones. En mi opinión estos son los principales:

  1. ASIHTTPRequest permite especificar un delegado para cada solicitud (frente a un delegado para una NSURLConnection completa); esto es útil porque cada solicitud tiene, en principio, un procesamiento diferente una vez que obtiene los datos que estaba esperando;

  2. ASIHTTPRequest admite un mecanismo de almacenamiento en caché que hace que sea muy fácil hacer que su aplicación funcione sin conexión (y que muestre los datos en caché); no existe tal mecanismo en NSURLRequest;

  3. Si busca , encontrará muchas sugerencias sobre una pérdida de memoria muy extraña que NSURLConnection/NSURLRequest ; esto no se experimenta con ASIHTTRequest ;

  4. ASIHTTRequest ofrece una mejor implementación de Reachability, que es absolutamente necesaria; Apple siempre que uno se dice que está lleno de errores .

Espero que esto ayude.


Los puntos fuertes de ASIHTTPRequest son IMHO:

  • fácil de usar
  • archivo de publicación
  • autenticación incorporada
  • compresión zlib incorporada
  • hacer cola

ASIHTTPRequest es mucho más fácil de usar. No tiene que concatenar bloques de datos manualmente, las solicitudes POST son fáciles de construir, los bloques son compatibles, ASIHTTPRequest es una subclase de NSOperation por lo que puede hacer una cola de sus solicitudes, etc.