gpt4 book ai didi

swift - 如何使用 RxAlamofire 下载图像

转载 作者:行者123 更新时间:2023-11-28 13:29:54 25 4
gpt4 key购买 nike

func showImageForUrl(url: String) -> Observable<Async<Any>> {
let result = RxAlamofire
.requestJSON(.get,
url,
parameters: nil)
.flatMap { (response, json) -> Observable<Any> in
return Observable.just(json)
}.async()
return result
}

url 字符串 "http://1.bp.blogspot.com/-KhiJ6WYQn8Q/T7ZXxb_KHxI/AAAAAAAABvM/_l134PCuEcA/s1600/dog+photos+3.jpg "

我正在尝试这个,但最终结果是错误的。 enter image description here

最佳答案

我认为问题之一是您的请求格式:它应该是 requestData(...) 而不是 requestJSON(...) 然后下载数据将其转换为图像。

这是一个比前面的代码简单一点的例子

func showImageForUrl(url: String) -> Observable<UIImage?> {
return RxAlamofire
.requestData(.get, url)
.map({ (response,data) -> UIImage? in
return UIImage(data: data)
})
}

你可以像下面这样使用它

showImageForUrl(myUrl)
.bind(to: myImageView.rx.image)
.disposed(by: disposeBag)

您可以更进一步,过滤掉无效响应或 UIImage 为 nil 等。希望对您有所帮助。

关于swift - 如何使用 RxAlamofire 下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57544950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com