您好我下载图片然后在tableViewCell中设置但是当我滚动图片时正在改变并且一段时间后他们正确设置这对用户来说真的不太好这是我在视图控制器中的代码
override func prepareForReuse() {
super.prepareForReuse()
self.imageProduct.image = UIImage(named: "sumGray")
}
func cellConfigure(cellProduct : product) {
productName.text = cellProduct.title
productFeature.text = cellProduct.info[0].capitalized
let urlImage = URL(string: cellProduct.pic)!
DispatchQueue.global().async {
do {
let img = try Data(contentsOf: urlImage)
DispatchQueue.global().sync {
self.imageProduct.image = UIImage(data: img)
}
} catch let err as NSError {
print(err.debugDescription)
}
}
}
这是我在UItableViewCell(ProductVC)中的代码
*args
}
我添加了重用功能,但它只会通过将imageView更改为默认图像而变得更糟 我在stackoverflow中搜索,我找到了一些像重用的方法,但他们没有解决我的问题 我希望看到每个细胞的当前图像 谢谢你的帮助
答案 0 :(得分:0)
尝试以下方法:
在设置下载的图像时,不要从后台线程调用UI代码:
DispatchQueue.main.async {
// if the URL didn't change
self.imageProduct.image = UIImage(data: img)
}