使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像

Posted

技术标签:

【中文标题】使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像【英文标题】:Is it possible to get Image from UIImageView after image is downloaded asynchronously using AFNetworking使用 AFNetworking 异步下载图像后,是否可以从 UIImageView 获取图像 【发布时间】:2013-07-09 10:01:53 【问题描述】:

我的代码是

[imageView setImageWithURL:[NSURL URLWithString:@"…"]];

设置图像。哪个工作正常。

现在我想知道如何从 imageView 获取下载的图像。如果我这样做 imageView.image 我最终会得到占位符图像。有什么解决办法吗?

【问题讨论】:

NSString *ImageURL = @"YourURLHere"; NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; imageView.image = [UIImage imageWithData:imageData]; 你想对图像做什么?您可以将其作为 NSData 保存到磁盘并从那里加载。 【参考方案1】:

你必须使用以下方法:

[imageView setImageWithURLRequest:request
      placeholderImage:placeholder
               success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) 
                   // the downloaded image is image
                
               failure:errorHandler]

【讨论】:

【参考方案2】:

该扩展类中还有另一个方法

- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest
              placeholderImage:(UIImage *)placeholderImage
                       success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
                       failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure;

这会给你成功的形象

【讨论】:

以上是关于使用 AFNetworking 异步下载图像后,是不是可以从 UIImageView 获取图像的主要内容,如果未能解决你的问题,请参考以下文章

异步下载后图像调整大小 AFNetworking UiTableView

AFNetworking 异步下载 GIF 带占位符

AFNetworking 和下载图像

ios 7 - 异步图像下载 UITableView 用于未知尺寸的图像

为啥所有异步图像加载(SDWebImage、AFNetworking)库都使用 UIImageView 而不是 UIImage?

滚动表格视图后出现图像 (AFNetworking)