【问题标题】:kingfisher not showing image翠鸟不显示图像
【发布时间】:2019-11-23 03:52:53
【问题描述】:

所以我正在使用 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()
}

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

【问题讨论】:

  • 你可以添加图片(字符串),你得到参数。
  • @SGDev 它似乎死了 - let imaurl = URL(string: image) 因为它返回一个 Nil
  • 我知道兄弟,但是 ypur 图像中的问题是你得到 nil imaurl。
  • 那我该如何解决呢?
  • 似乎image 不是有效的网址。

标签: ios swift string url printing


【解决方案1】:

其实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)

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 2019-06-02
    • 2017-07-11
    相关资源
    最近更新 更多