В Appareant нет AFImageRequestOperation
, но только AFImageResponseSerializer
и, честно говоря, я этого не понимаю, или, может быть, я просто слишком долго просматриваю сайт AFNetworking... Загрузка изображений с предыдущим AFNetworking была похожа на очарование. Мне бы не хотелось возвращаться к более раннему AFnetworking, так как я почти все делал по новой версии... Кто-нибудь?
Как загрузить изображение с помощью AFNetworking 2.0?
Ответ 1
SO, вам нужно что-то подобное для 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];
Как упоминалось Адамом, вы также можете сделать что-то вроде ниже, если вы просто хотите бросить его в imageView
[myImageView setImageWithURL:[NSURL URLWithString:@"http://sitewithimage.com/images/myimage.png"]];
Ответ 2
для старой версии нет ответа Сериализатор, вы также можете
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];
Ответ 3
Для людей, использующих AFNetworking
в Swift, выше решение может быть написано ниже
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()