Collection View inside Table View Cell 慢速滚动性能

Collection View inside Table View Cell Slow Scroll Performance

我在 Whosebug 和我搜索的许多网站上检查、尝试了许多解决方案。

我的问题:我在 table 视图单元格中有一个集合视图。我的数据必须在 table 视图 (viewdidload) 中加载 1 次。

当我将数据传递到 table 个单元格内的集合视图时,它没有出现,因为我需要再次重新加载集合视图。

所以我这样做:数据 -> table 视图的 cellforrow 内部 -> 传递到集合视图 -> cell.collectionView.reloadData()

这会导致有关滚动性能的问题: collectionView.reloadData() 在我滚动时一遍又一遍地调用(这是因为 [=34 的可重用单元格架构=] 查看。

这里是我在 tableView 的 cellforrow 中的代码:

let cell = tableView.dequeueReusableCell(withIdentifier: SubCategoryCellID) as! SubCategoryCell
        if isFetched {
            cell.shimmeringView.isShimmering = false
            cell.shimmeringImageView.isHidden = true
            cell.shimmeringView.isHidden = true
            cell.listLocation = nestedSubLocation[indexPath.item]
            cell.collectionView.reloadData()
        }else {
            return cell
        }

我尝试过的解决方案: + 创建静态单元格并让单元格显示在 cellForRow 中(它完全修复了滚动性能,但我认为它不利于内存管理,如果父级是集合视图则它不起作用)。 + 滚动停止时重新加载数据:第一次加载时仍然需要重新加载数据,如果我不再重新加载,则数据错误。

要解决这个问题,有人有解决滚动性能的巧妙方法吗?

将这段代码放在cell.collectionView.reloadData()

之后
cell.collectionView.scrollRectToVisible(CGRect.zero, animated: false)