[英]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.