objective c - not - ¿Por qué usar AFNetworking en lugar de dispatch_async?
alamofire (1)
¿Por qué debería uno usar los métodos asíncronos de AFNetworking, cuando se puede hacer una llamada asíncrona simplemente con GCD?
dispatch_async(bgQ, ^{
//NSURLConnection code
dispatch_async(dispatch_get_main_queue(), ^{
//UI code
});
});
Esto se responde en detalle en la parte superior de las preguntas frecuentes de AFNetworking :
Si bien
NSURLConnection
proporciona+sendAsynchronousRequest:queue:completionHandler:
y+sendSynchronousRequest:returningResponse:error:
hay muchas ventajas al usar AFNetworking:
AFURLConnectionOperation
y sus subclases heredan deNSOperation
, lo que permite que las solicitudes se cancelen,> suspendan / reanuden, y administradas por unNSOperationQueue
.AFURLConnectionOperation
también le permite transmitir fácilmente cargas y descargas, manejar desafíos de autenticación,> monitorear el progreso de carga y descarga, y controlar el comportamiento o las solicitudes de almacenamiento en caché.AFHTTPRequestOperation
y sus subclases distinguen entre solicitudes exitosas y no exitosas basadas en HTTP> códigos de estado y tipo de contenido.- AFNetworking incluye operaciones de solicitud específicas de medios que transforman
NSData
en formatos más utilizables, como JSON, XML, imágenes y listas de propiedades.AFHTTPClient
proporciona una interfaz conveniente para interactuar con servicios web, incluidos encabezados predeterminados, autenticación, monitoreo de accesibilidad de la red, operaciones por lotes, serialización de parámetros de cadenas de consulta y solicitudes de formularios de múltiples partes.UIImageView+AFNetworking
agrega una manera conveniente de cargar imágenes de forma asíncrona.