首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过UIImage下载AlamofireImage?

通过UIImage下载AlamofireImage?
EN

Stack Overflow用户
提问于 2017-09-13 13:42:12
回答 1查看 6K关注 0票数 2

我有一个URL,希望通过返回函数下载图像,但是我无法让它进行适当的合作,以下是我的功能:

代码语言:javascript
复制
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。

但我得到

空函数中的意外非空返回值

返回语句。

我如何才能正确地做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-13 13:44:02

您可以使用以下函数下载图像:

代码语言:javascript
复制
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)
            }
        }
    }

使用

代码语言:javascript
复制
getImage("http://") { (image) in
    if image != nil {
        print(image)
    }
}

如果要在UIImageView上设置图像,请使用AlamofireImage的扩展。

代码语言:javascript
复制
if let imageURL = URL(string: "http://"), let placeholder = UIImage(named: "default") {
     imageView.af_setImage(withURL: imageURL, placeholderImage: placeholder) //set image automatically when download compelete.
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46199203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档