iphone - afhttprequestoperation - afnetworking 3
¿Cómo descargar imágenes con AFNetworking 2.0? (3)
Aparentemente no hay AFImageRequestOperation
, sino solo AFImageResponseSerializer
y francamente no lo entiendo o tal vez estoy mirando demasiado tiempo a través del sitio de AFNetworking ... Descargar imágenes con AFNetworking anterior fue como un encanto. Odiaría volver a la antigua red de AF, ya que hice casi todas las cosas a través de la nueva versión ... ¿Alguien?
ASÍ QUE quieres algo como esto para 2.0.
AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest];
requestOperation.responseSerializer = [AFImageResponseSerializer serializer];
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response: %@", responseObject);
_imageView.image = responseObject;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Image error: %@", error);
}];
[requestOperation start];
Como lo mencionó Adam, también puedes hacer algo como lo de abajo si solo quieres ponerlo en una imageView
[myImageView setImageWithURL:[NSURL URLWithString:@"http://sitewithimage.com/images/myimage.png"]];
Para las personas que usan AFNetworking
en Swift, la solución anterior se puede escribir de la siguiente manera
let requestOperation : AFHTTPRequestOperation = AFHTTPRequestOperation(request: urlRequest)
requestOperation.responseSerializer = AFImageResponseSerializer()
requestOperation.setCompletionBlockWithSuccess({ (requestOperation, responseObject) in
print(responseObject)
_imageView.image = responseObject as? UIImage
}) { (requestOperation, error) in
print(error)
}
requestOperation.start()
para la versión anterior, no hay respuestaSerializer, también puede
AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest];
//requestOperation.responseSerializer = [AFImageResponseSerializer serializer];
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response: %@", responseObject);
_imageView.image = [UIImage imageWithData:responseObject];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Image error: %@", error);
}];
[requestOperation start];