高频(0.01 秒)realoadAt 调用 UICollectionview 将 cpu 使用率提高到 100%
high frequency (0.01 sec) realoadAt call for UICollectionview bumps cpu usage to 100%
我希望以 0.01 秒的频率调用 collectionView.reloadItems(at: [IndexPath(item: middle, section: 0)]) 来更新单个单元格,但它会颠簸 cpu使用率达到 100%。
欢迎提出任何建议。
你不应该这样做,只需要在你想要的 indexPath 获取单元格:
if let cell = collectionView.cellForItem(at: IndexPath(item: 10, section: 0)) as? `YourCollectionViewCellClass` {
//Update cell data here instead of reloading
}
上面@son关于不这样做的回答是绝对正确的。您应该向 collectionView 询问 indexPath 中的现有单元格实例,并在那里手动进行更改。
这是一个很常见的问题,从 iOS 15
开始,我们有系统 API 可以帮我们完成上面的工作。
UICollectionView.reconfigureItems
我希望以 0.01 秒的频率调用 collectionView.reloadItems(at: [IndexPath(item: middle, section: 0)]) 来更新单个单元格,但它会颠簸 cpu使用率达到 100%。
欢迎提出任何建议。
你不应该这样做,只需要在你想要的 indexPath 获取单元格:
if let cell = collectionView.cellForItem(at: IndexPath(item: 10, section: 0)) as? `YourCollectionViewCellClass` {
//Update cell data here instead of reloading
}
上面@son关于不这样做的回答是绝对正确的。您应该向 collectionView 询问 indexPath 中的现有单元格实例,并在那里手动进行更改。
这是一个很常见的问题,从 iOS 15
开始,我们有系统 API 可以帮我们完成上面的工作。
UICollectionView.reconfigureItems