我正在使用 DispatchQueue.global() 从存储在数组 url 中的 url 下载图像,这些是步骤:
Array of urls --> let data = contentsOf: array[url] --> display img
但是我得到一个错误,比如,检查下图:
打印出来的是:
fatal error: unexpectedly found nil while unwrapping an Optional value
文本格式的代码:
func updateView(){
for i in 0..<testArray1.count {
let ImgUrl = URL (string: testArray1[i])!
DispatchQueue.global().async {
do {
let data = try Data(contentsOf: ImgUrl)
DispatchQueue.global().sync {
self.imgArr.append(UIImage(data: data)!)
}
} catch {
//handle the error
}
}
}
}
希望这可以帮助你帮助我。
先谢谢你
最佳答案
有可能您获得了该数据但并未未能创建图像。试试这个
DispatchQueue.global().sync {
for i in 0..<testArray1.count {
let imgUrl = URL(string: testArray1[i])!
do {
let data = try Data(contentsOf: imgUrl as URL)
if let image = UIImage(data: data) {
imgArr.append(image)
}
} catch {
print("Unable to load data: \(error)")
}
}
}
关于swift - 使用 DispatchQueue swift 3 下载图像时发现 Optional 为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44895584/