无法在swift中同时下载和显示图像

无法在swift中同时下载和显示图像,swift,image,Swift,Image,基本上,我正在开发一个漫画书应用程序。当用户单击该卷时,我希望该卷在第一个图像下载后立即开始显示(基本上是下载图像并同时显示它们,如果用户正在阅读页面,则其他图像将在后台下载)。目前,我的应用程序崩溃,或者被卡住,直到所有的图像都从我的循环中下载并添加到阵列中 func updateView(){ DispatchQueue.global().sync { for i in 0..<testArray1.count { let imgUr

基本上,我正在开发一个漫画书应用程序。当用户单击该卷时,我希望该卷在第一个图像下载后立即开始显示(基本上是下载图像并同时显示它们,如果用户正在阅读页面,则其他图像将在后台下载)。目前,我的应用程序崩溃,或者被卡住,直到所有的图像都从我的循环中下载并添加到阵列中

 func updateView(){

    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) {
                    self.imgArr.append(image)
                }
            } catch {
                print("Unable to load data: \(error)")
            }
        }
    }
}
func updateView(){
DispatchQueue.global().sync{

对于0中的i..尝试使用异步下载,并在使用图像更新UI时使用同步。为什么会崩溃?您是否从url获取和返回数据?以异步方式加载数据
sync
总是不好的,也不鼓励您使用
数据(contentsOf
从远程URL加载数据。我确信
SD Webimages
提供了更好的方法。是的,我正在取回所有内容并同时加载所有图像,但我想在下载时单独显示它们。@vadin你能帮我找到正确的方法吗?对不起,我不熟悉
SD Webimages