我有一个 tableview,每个单元格中都嵌套了一个 collectionView。
tableViewCell 的数量是动态的,每个 tableViewCell 的 collectionViewCell 的数量也是动态的。
我“dequeueReusableCell”这两种单元格。
每次加载 tableViewCell 时,我都会执行 cell.collectionView.reloadData()。
当我滚动 TableView 时,它真的在抽搐。加上 viewController 需要大量加载。
我尝试将collectionView.reloadData() 移到uitableviewcell 的prepareforReuse 或willDisplayCell 中,但没有。
我发现很少有帖子问这个问题,但实际上我无法解决我的问题。
使用 reloadData()
方法就像使用锤子一样。这要花很多钱,因为您说要重新加载所有数据。
要问自己的问题是:“我需要每次都重新加载所有数据吗?还是只需要一部分?只需一行 func reloadRows(at: [IndexPath], with: UITableViewRowAnimation)
? 可能只是一个部分与 func reloadSections(_sections: IndexSet, with animation: UITableViewRowAnimation)
?
通过这些方法,您可以降低成本并稍微加快程序速度。
关于ios - UITableViewCells 内部带有 UICollectionView 低性能(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269659/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |