开发者社区> 问答> 正文

带有来自API的图像的SWIFT tableView在滚动时滞后

我有一个tableView,我填充了来自API的图像,但是,当滚动时,它是相当滞后的。我试过在不同的线程上运行异步,但无法正确运行。那我该怎么解决呢?这是我用来为每个单元格设置图像的cellForRowAt-func。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "VideoCell", for: indexPath) as! TableViewCell
    let video = highlightsArray[indexPath.row]
    cell.video = video

    do {

        let url = URL(string: self.highlightsArray[indexPath.row].thumbnail)!
        let data = try Data(contentsOf: url)
        cell.thumbnailImage.image = UIImage(data: data)
    }
    catch{
        print(error)
        cell.thumbnailImage.image = UIImage(named: "pllogo.jpg")
    }


    return cell
}

展开
收起
游客5akardh5cojhg 2019-12-10 22:47:51 550 0
1 条回答
写回答
取消 提交回答
  • 这条线

    let data = try Data(contentsOf: url)
    
    

    阻止主线程并在滚动时多次重新下载相同的映像,请考虑使用SDWebImage

    2019-12-10 22:48:28
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载