AFNetworking 下载和设置图片
Posted
技术标签:
【中文标题】AFNetworking 下载和设置图片【英文标题】:AFNetworking downloading and setting images 【发布时间】:2013-05-31 11:42:18 【问题描述】:我看到了两种从 URL 下载图像的不同方法:
[imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"placeHolderImage"]];
和
AFImageRequestOperation *requestOperation = [AFImageRequestOperation imageRequestOperationWithRequest:...
我应该使用哪一个?
【问题讨论】:
【参考方案1】:这取决于你想要达到的目标。
第一种方法是围绕UIImageView
(作为一个类别)构建的,并允许按原样下载和显示图像。通常这种方法在表格视图或其他包含UIImageView
s 的类似界面中很有用。首先,您将看到(如果已设置)一个占位符。当图片下载完成后,占位符将被替换为真实图片。
如果您需要下载图像并执行一些处理,则第二种方法很有用。使用完成块,您可以验证图像何时下载并进行缩放等。
最重要的是,虽然第一种方法执行与图像视图和相对图像的关联,但在第二种情况下,您需要自己进行。无论如何,第二个更灵活,因为您可以直接控制图像并执行额外的计算。
希望对你有帮助。
【讨论】:
也许@mattt 会在上面说点别的。 ;) Tnx 回答,但今天也看到了这个方法:'setImageWithURLRequest:placeholderImage:success:failure:' 这是我的问题中两种方法的某种混合吗?谢谢。 @user1832330 抱歉耽搁了。你需要达到什么目标?该方法与第二种方法相同,但带有回调。【参考方案2】:[imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"placeHolderImage"]];
我在我的项目中使用了这个,它对我来说很好。
【讨论】:
我也在尝试 lazzytableview 概念,如果您需要更多帮助,最好告诉我... 看起来 setImageWithURL 实际上正在使用 AFImageRequestOperation 函数,所以这可能是正确的使用以上是关于AFNetworking 下载和设置图片的主要内容,如果未能解决你的问题,请参考以下文章
AFNetworking 2.0,使用 NSURLSession 下载图片
iOS开发之旅AFNetworking与SDWebImage下载图片
使用GCD中的dispatch_semaphore(信号量)处理一个界面多个请求(把握AFNet网络请求完成的正确时机)