为什么我的图像无法解析到我的imageView中?

时间:2019-05-03 21:24:28

标签: ios json swift

我正在尝试从url中解析图像 https://a.ppy.sh/9795284

据我所知,它没有特定的图像扩展名,它只是我当前代码的链接(可用于获取用户名,当我打印user_id时,我会获取9795284,因此我知道代码可以正常工作(我还已经获得了其他想要获取的信息,因为作为用户名,但是我一生都无法获取用户图像,这里显示的是我处理解析的代码

    fetchCoursesJSON { (res) in
        switch res {
        case .success(let playerinfo):
            playerinfo.forEach({ (player) in
                print(player.username)
                DispatchQueue.main.async {
                    self.myLabel.text = player.username
                    self.avatar.image = UIImage(named: "https://a.ppy.sh/\(player.user_id)")
                }

            })
        case .failure(let err):
            print("Failed to fetch courses:", err)
        }
    }

我希望输出在头像图像中显示用户的个人资料选择,但它并不只是空白。

2 个答案:

答案 0 :(得分:0)

您需要先下载图像,可以使用SDWebImageAlamofireImageKingfisher之类的库或使用本机URLSession

资源在您的资产中时,将使用UIImage(named:)

答案 1 :(得分:0)

UIImage(named:)会尝试从您的应用..而不是从互联网检索图像。以下是一些代码,可帮助您从网址中检索图片:

guard let url = URL(string: yourUrlString ?? "") else { return }
            URLSession.shared.dataTask(with: url, completionHandler: { (data, response, error) -> Void in
                guard let data = data, error == nil else { return }
                let image = UIImage(data: data)
                DispatchQueue.main.async {
                    self.avatar.image = image
                }
            }).resume()