尝试使用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下载图像?
可以Cmd +点击和"在新标签中打开图像"获得全尺寸图像
答案 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
找到它有很好的文档和示例,因此您可以在几分钟内享受它。
我自己在一些项目中工作,包括集合视图和滚动。