Как загрузить изображение с AFNetworking 2.0?
внешне нет AFImageRequestOperation
, но только AFImageResponseSerializer
и, честно говоря, я не понимаю, или, может быть, я просто слишком долго просматриваю сайт AFNetworking... Загрузка изображений с предыдущей AFNetworking была как шарм. Я бы не хотел возвращаться к старой AFnetworking, так как я сделал почти все вещи через новую версию... Кто?
3 ответа:
Итак, вы хотите что-то подобное для 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"]];
для старой версии, нет responseSerializer, вы также можете
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];
для людей с помощью
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()