swift - 使用 DispatchQueue swift 3 下载图像时发现 Optional 为 nil

标签 swift uiimageview uiimage option-type

我正在使用 DispatchQueue.global() 从存储在数组 url 中的 url 下载图像,这些是步骤:

Array of urls --> let data = contentsOf: array[url] --> display img

但是我得到一个错误,比如,检查下图:

Problem

打印出来的是:

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/

相关文章:

ios - 无法将类型 'Range<String.Index>?' 的值转换为指定类型 'NSRange'(又名 '_NSRange')

ios - 尝试重定向到 WKWebView 中的 url

ios - 添加 subview 会产生布局问题

iphone - UIImageView 不遵循 origin.x 位置

ios - 无法使用 PHPhotoLibrary 将 UIImage 保存到相机胶卷

上传到服务器的 iOS UIImage 被旋转

ios - 卡片翻转图像不受 View 限制

ios - AFNetworking setImageWithURLRequest 不更新 UIImageView

ios - +[NSURL URLWithString :] returning nil

ios - 从 NSData 创建的 UIImages 不遵守 UIViewContentMode