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”
答案 0 :(得分:1)
我认为问题之一是请求的格式:应该是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
为零等时,您可以进一步过滤掉。希望对您有所帮助。