This question already has answers here:
Loading/Downloading image from URL on Swift
(31个答案)
6个月前关闭。
我正在尝试从我的ios应用程序swift中的url加载图像。我写了以下代码。
现在imageURL有了正确的url,但是imageData接收到
重要提示:避免不必要地使用
(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 (!)
。这可能会导致不需要的应用程序崩溃。而是使用guard
或if-let
来展开optionals
。关于ios - 如何在ios swift中显示来自URL的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56252948/