问题描述
我有一个tableCell,我需要在其中下载图像并将其分配给imageView。 我看到图像已下载,但不确定如何更新tableCell以重新加载以显示该图像。 下面是我的代码,并将完成处理程序中的图像分配给imageView。由于它处于完成处理程序中,到下载图像时,tableCell已经显示出来。请告知我如何在下载图片后立即显示图片
public func configureCell(_ employee: Employee) {
nameLabel.text = employee.name
addressLabel.text = employee.address
guard let url = employee.imageURL else { return }
fetchImageTask = ImageHandler.getImage(forURL: url) { [weak self] image in
self?.employeeImageView.image = image
}
}
这是我的configure方法,该方法从cellForRow(at:Index)中为我的tableView调用
请咨询
解决方法
在这里,我们需要查看ImageHandler实现。也许您需要先运行任务。
fetchImageTask = ImageHandler.getImage(forURL: url) { [weak self] image in
self?.employeeImageView.image = image
}
fetchImageTask.resume()
如果fetchImageTask只是一个任务并且需要运行,我的答案将起作用。 (也许ImageHandler.getImage有内部运行)
,您尝试使用Alamofire吗?
AF.request(url).response{
res in
if let data = res.data{
self?.employeeImageView.image = UIImage(data: data)
}
}