我有一个网址,想要通过返回功能下载图像,但是我无法让它正确配合,这是我的功能:
{{1}}
我传入了URL,并希望从alamofire响应返回一个UIImage。
但是我得到了
void函数中出现意外的非void返回值
表示返回声明。
我怎样才能正确实现这一目标?
答案 0 :(得分:6)
您可以使用以下功能下载图像:
func getImage(_ url:String,handler: @escaping (UIImage?)->Void) {
print(url)
Alamofire.request(url, method: .get).responseImage { response in
if let data = response.result.value {
handler(data)
} else {
handler(nil)
}
}
}
<强>用途强>
getImage("http://") { (image) in
if image != nil {
print(image)
}
}
或
如果您想在UIImageView
上设置图片,请使用AlamofireImage的扩展名。
if let imageURL = URL(string: "http://"), let placeholder = UIImage(named: "default") {
imageView.af_setImage(withURL: imageURL, placeholderImage: placeholder) //set image automatically when download compelete.
}