我已经用来自API的图像填充了collectionView并对其进行了缓存。 它可以工作,但是最初加载图像时会出现问题。 imageView占用了collectionView缓存中的其他图像一秒钟,但它是可检测的,看起来很奇怪 相反,我想保持它为空,直到加载。
AF.request(imageurlstring).responseImage { response in
if case .success(let image) = response.result {
self.image = image
imageChache.setObject(image, forKey: NSString(string: urlString))
}
}
在设置任何新图像之前,将图像设置为nil。因此,在以下代码行之前添加self.image = nil: self.image =图片
发生这种情况是因为收集视图重复使用了单元,并且图像下载请求正在排队。这就是为什么对于某些单元格您会获得这种多种图像设置的原因。 为避免多重设置,您可以将图片的网址保存在单元格内的某个位置。并检查它是否与响应的URL相匹配。