Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 表视图中的数据混合,如何避免?敏捷的_Swift_Image_Tableview_Cell - Fatal编程技术网

Swift 表视图中的数据混合,如何避免?敏捷的

Swift 表视图中的数据混合,如何避免?敏捷的,swift,image,tableview,cell,Swift,Image,Tableview,Cell,我有一些问题,我有一个自定义单元格的表视图,单元格有一个图像视图,图像是从internet下载的,当第一次加载数据时一切正常,但如果快速滚动屏幕,图像会混合。 这是我的密码 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{ let cell:FlinkerTableViewCell = tableView.dequeueReusab

我有一些问题,我有一个自定义单元格的表视图,单元格有一个图像视图,图像是从internet下载的,当第一次加载数据时一切正常,但如果快速滚动屏幕,图像会混合。 这是我的密码

 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