繁体   English   中英

翠鸟不显示图像

[英]kingfisher not showing image

所以我使用的是 kingfisher,因为人们建议使用它来处理远程图像。

但是我有一个 func 是为了加载现在播放的信息

func nowplaying(){
    let jsonURLString = "https://api.drn1.com.au/station/playing"
            guard let feedurl = URL(string: jsonURLString) else { return }

            URLSession.shared.dataTask(with: feedurl) { (data,response,err)
                in

                guard let data = data else { return }

                do{
                    let nowplaying = try JSONDecoder().decode(Nowplayng.self, from: data)


                    nowplaying.data.forEach {
                        self.artist.text = $0.track.artist
                        self.song.text = $0.track.title

                        //self.artist.textAlignment = .center
                        //self.song.textAlignment = .center
                        print($0.track.title)

                        if let strUrl = nowplaying.data.first?.track.imageurl {
                                                        self.imageurl.kf.setImage(with: URL(string: strUrl), placeholder: nil)

                        }
                        //self.imageurl.setImage(with: $0.track.imageurl)

                   }

                }catch let jsonErr{
                print("error json ", jsonErr)
                }


      }.resume()
}

但是虽然歌曲名称和艺术家显示的图像没有。

实际上 url 包含需要百分比编码的spaces

if var strUrl = nowplaying.data.first?.track.imageurl {

    strUrl = strUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
    self.imageurl.kf.setImage(with: URL(string: strUrl), placeholder: nil)

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM