我是iOS新手,我试图在collectionviewcontroller中加载数据。数据正在加载和滚动以获得更少的数据。但是在加载大数据时滚动卡住了。 但随着我的收藏中的数据越来越多,其滚动变得粗糙,加载一些页面后,向上或向下滚动变得非常困难。它被卡住了。
答案 0 :(得分:1)
请勿在{{1}}中重新加载collectionView
,请删除此部分:
cellForItem
并删除您在那里的大多数 DispatchQueue.main.async {
self.collectionView?.reloadData()
}
来电。这是一个重量级的操作 - 只有当你真的需要重新加载它时才调用它 - 这意味着当数据模型改变整个集合视图时。
旁注:
请勿使用reloadData
,而是indexPath.row
,indexPath.item
用于row
,而不是UITableView
。
答案 1 :(得分:0)
indexpath的cellForItem重新加载数据的目的。为什么要在线上手动重装?
DispatchQueue.main.async {
self.collectionView?.reloadData()
}
删除上面的行尝试再次运行..?
答案 2 :(得分:0)
删除所有reloadData
次来电并尝试使用Observers
(willSet
,didSet
),以便在发生更改时加载或修改内容。
答案 3 :(得分:0)
Thanks everyone... Once I removed
self.collectionView?.reloadData()
我的问题得到了解决。非常感谢。