我有一个网址,想通过返回函数下载图像,但是我无法使其正常配合,这是我的功能:
func getTabImage(url: URL) -> UIImage { Alamofire.request(url) .responseImage { response in if let image = response.result.value { return image } else { print("Failed to get image") } } }
我传入URL,并希望从alamofire响应返回UIImage。
但是我明白了
void函数中非预期的非无效返回值
对于return语句。
我怎样才能正确地做到这一点?
您可以使用以下功能下载图像:
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扩展名设置图像。
UIImageView
if let imageURL = URL(string: "http://"), let placeholder = UIImage(named: "default") { imageView.af_setImage(withURL: imageURL, placeholderImage: placeholder) //set image automatically when download compelete. }