使用Alamofire下载图像时出错

时间:2015-06-22 00:08:45

标签: ios swift alamofire

尝试使用Alamofire在预先存在的项目中进行修复,但是我收到了错误消息。

有问题的代码是:

   Alamofire.request(.GET, "https://www.domain.com/demo-mobile-images/dogs-blue.jpg" ).response { (request, response, data , error) in
       tableViewCell.backgroundImageView.image = UIImage(data: data, scale:1)
    }

但我收到错误:

Cannot invoke 'response' with an argument list of type '((_, _, _, _) -> _)'

看起来我试图打电话的确是标准的,而且我不确定msg告诉我的错误是什么。我认为_表示未命名的参数。

如何通过Alamofire下载图像?

编辑1 - 这里是错误的屏幕截图

可以Cmd +点击和"在新标签中打开图像"获得全尺寸图像

enter image description here

2 个答案:

答案 0 :(得分:4)

试试这个:

Alamofire.request(.GET, imageURL).response() {
  (_, _, data, _) in
  let image = UIImage(data: data! as! NSData)
  tableViewCell.backgroundImageView.image = image
}

需要使用空参数和完成处理程序调用响应。

答案 1 :(得分:0)

在这些情况下,重要的是取消正在进行的单元格请求,因为如果没有正确取消,则可能会显示错误的图像。

我开发了一个小而简单的CocoaPods库来处理Alamofire和Images。只要对同一图像视图对象发出新请求,库就会自动处理取消。

CocoaPods是解决库依赖关系需求的好方法。它易于安装一次,并且易于添加和更新项目的依赖项。

该库是开源的,可以在https://github.com/gchiacchio/AlamoImage

找到

它有很好的文档和示例,因此您可以在几分钟内享受它。

我自己在一些项目中工作,包括集合视图和滚动。