ios - Swift - 异步下载多个图像

标签 ios swift asynchronous urlsession

<分区>

我目前有可让我下载单个图像的工作代码。然后将该图像放在 collectionview 单元格内的 ImageView 中。

但是,我想从 2 个不同的 URL 下载 2 个图像。我是否需要创建另一个 URLSession 任务,或者我是否可以使用同一 session 简单地下载 2 张图像?

let url = URL(string: "www.example.com/image.jpg")
let task = URLSession.shared.dataTask(with: url!) { data, response, error in 
guard let data = data, error == nil else { return }

DispatchQueue.main.async() {
    cell.postImage.image = UIImage(data: data) 
    }
}

编辑:不确定为什么 Leo 将我的问题标记为重复。我已经看过那个帖子,它只加载了一张图片。我的问题是关于下载多个图像的正确方法 smh。

最佳答案

为此,我建议您使用第三方库。我可以建议的是 SDWebImage 库:SDWebImage

库的使用非常简单。这是一个例子:

import SDWebImage

imageView.sd_setImage(with: URL(string: "http://www.test.com/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))

它自己处理异步下载,所以你不需要再担心这些东西了。它还集成了一个巧妙的缓存系统,这意味着如果图像被下载一次,就不会再次下载相同的图像。

关于ios - Swift - 异步下载多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48401728/

相关文章:

离开页面时 JQuery Ajax 错误

ios - AVVideoComposition 在 iOS 8 中不起作用

iphone - 如何在我的本地应用程序中集成 Skype 功能

swift - UILabel textColor 属性标记为非空,但注释默认为 nil

ios - XLPagerTabStrip 按钮栏宽度比导航栏宽

php - Laravel 调度作业不异步运行,阻碍执行

ios - UIBarButton 渲染问题

ios - UILabel 在输入一些文本后显示点

ios - 让 UIPickerView 旋转

VB.NET:如果我使用 Await 运行 CPU 密集型代码会发生什么情况?