使用 Alamofire 下载图片时出错

error when using Alamofire to download an image

尝试使用 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 '((_, _, _, _) -> _)'

看起来我尝试调用的确实是标准的,我不确定错误消息告诉我的是什么。 _ 我以为是未命名参数。

如何通过 Alamofire 下载图像?

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

可以 Cmd + 单击并 "Open Image In New Tab" 获取全尺寸图像

试试这个:

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

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

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

我开发了一个小而简单的 CocoaPods 库来与 Alamofire 和图像一起工作。每当对同一图像视图对象发出新请求时,库都会自动处理取消。

CocoaPods 是解决您的库依赖需求的好方法。一次安装很容易,也很容易为您的项目添加和更新依赖项。

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

找到

它有很好的文档和示例,所以您很快就会喜欢上它。

我自己在几个项目中使用它,包括集合视图和滚动。