Scheinbar gibt es keine AFImageRequestOperation
, aber nur AFImageResponseSerializer
und ehrlich gesagt bekomme ich es nicht oder vielleicht sehe ich nur zu lange durch AFNetworking Website ... Download von Bildern mit früheren AFNetworking war wie ein Charme. Ich würde es hassen, zu älteren AFnetworking zurückzukehren, da ich fast alles über die neue Version gemacht habe ... Jeder?Wie lade ich ein Bild mit AFNetworking 2.0 herunter?
51
A
Antwort
126
SO wollen Sie so etwas für 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];
Wie Adam erwähnt man auch so etwas wie die unten tun können, wenn Sie nur wollen es in ein Imageview
[myImageView setImageWithURL:[NSURL URLWithString:@"http://sitewithimage.com/images/myimage.png"]];
4
für alte Version zu werfen, gibt es keine responseSerializer ist, können Sie auch
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];
0
Für Menschen AFNetworking
in Swift, können above solution wie unten
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()
gerettet mein Leben :) Ich wusste, es gab eine Lösung :) – raistlin
Würde dies in der Hauptwarteschlange oder der Hintergrundwarteschlange sein? – Tander
@Tander Die Completion-Blöcke laufen auf der Hauptwarteschlange – Bot