通过AlamofireImage下载UIImage? [英] Downloading UIImage via AlamofireImage?

查看:823
本文介绍了通过AlamofireImage下载UIImage?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个网址,想要通过返回功能下载图片,但我不能让它合作正常,这是我的功能:

I have a URL and want to download the image via a return function, however I cant get it to cooperate properly, here is my func:

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。

I pass in the URL, and want a UIImage returned from the alamofire response.

但是我得到了


void函数中出现意外的非void返回值

Unexpected non-void return value in void function

返回语句。

如何才能正确实现此目的?

How can i achieve this correctly?

推荐答案

您可以使用以下功能下载图片:

You can use the below function for downloading the image:

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 you want to set the image on UIImageView use extension of 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.
}

这篇关于通过AlamofireImage下载UIImage?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆