This question already has answers here:
Loading/Downloading image from URL on Swift
(31个答案)
6个月前关闭。
我正在尝试从我的ios应用程序swift中的url加载图像。我写了以下代码。
 let imageURL =  minHost + "\(userData["profileImage"])"
 let url = URL(string: imageURL)!
 let imageData = try? Data(contentsOf: url)
 profileImage.image = UIImage(data: imageData!)

现在imageURL有了正确的url,但是imageData接收到nil,因此,最后一行出现错误Fatal error: Unexpectedly found nil while unwrapping an Optional value

最佳答案

使用Data(contentsOf:)执行网络调用,而不是使用URLSession方法获取图像。

let imageURL =  minHost + "\(userData["profileImage"])"

if let url = URL(string: imageURL) {
    URLSession.shared.dataTask(with: url) {[weak self] (data, urlResponse, error) in
        if let data = data {
            DispatchQueue.main.async {
                self?.profileImage.image = UIImage(data: imageData)
            }
        }
    }.resume()
}

重要提示:避免不必要地使用forced unwrapping (!)。这可能会导致不需要的应用程序崩溃。而是使用guardif-let来展开optionals

关于ios - 如何在ios swift中显示来自URL的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56252948/

10-12 00:15
查看更多