Swift 表视图中的数据混合,如何避免?敏捷的
我有一些问题,我有一个自定义单元格的表视图,单元格有一个图像视图,图像是从internet下载的,当第一次加载数据时一切正常,但如果快速滚动屏幕,图像会混合。 这是我的密码Swift 表视图中的数据混合,如何避免?敏捷的,swift,image,tableview,cell,Swift,Image,Tableview,Cell,我有一些问题,我有一个自定义单元格的表视图,单元格有一个图像视图,图像是从internet下载的,当第一次加载数据时一切正常,但如果快速滚动屏幕,图像会混合。 这是我的密码 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{ let cell:FlinkerTableViewCell = tableView.dequeueReusab
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell:FlinkerTableViewCell = tableView.dequeueReusableCell(withIdentifier: "flinkerCell") as! FlinkerTableViewCell
cell.imgeCell.image = nil
let row = indexPath.row
let flinkerAux: Flinker = flinkers[row]
if let stringURL = flinkerAux.image{
if stringURL != "" {
DispatchQueue.main.async {
cell.imgeCell.downloadedFrom(link: stringURL)
cell.imgeCell.contentMode = .scaleAspectFill
}
cell.imgeCell.setNeedsDisplay()
cell.lblTitle.text = flinkerAux.fullName
cell.lblSubtitle.text = flinkerAux.phone
}else{
cell.imgeCell.image = UIImage(named: "user_placeholder")
cell.lblTitle.text = flinkerAux.fullName
cell.lblSubtitle.text = flinkerAux.phone
}
}else{
cell.imgeCell.image = UIImage(named: "user_placeholder")
cell.lblTitle.text = flinkerAux.fullName
cell.lblSubtitle.text = flinkerAux.phone
}
cell.imgeCell.layer.cornerRadius = 20
cell.imgeCell?.clipsToBounds = true
cell.selectionStyle = .none
return cell
}
我使用的是swift 4.2,我尝试使用DispathQueue加载图像,但是当表视图有这么多图像时,问题又出现了。
我该怎么办?这是众所周知的问题。我相信你可以通过谷歌找到很多东西 这里最简单的选择是使用任何库来下载图像,如AlamofireImage、Nuke、翠鸟、SDWebImage