UITableView "beginUpdates" 和 UICollectionView "performBatchUpdates" 是不是具有相同的行为?

Posted

技术标签:

【中文标题】UITableView "beginUpdates" 和 UICollectionView "performBatchUpdates" 是不是具有相同的行为?【英文标题】:Does the UITableView "beginUpdates" and UICollectionView "performBatchUpdates" have the same behavior?UITableView "beginUpdates" 和 UICollectionView "performBatchUpdates" 是否具有相同的行为? 【发布时间】:2014-08-04 18:54:17 【问题描述】:

当我开始想知道 UITableView 中的“beginUpdates”和 UICollectionView 中的“performBatchUpdates”是否具有相同的行为时,我正在浏览文档。如果是这样,即使它们实际上是同一个东西,它们是否有不同的称呼?

谢谢!

【问题讨论】:

【参考方案1】:

UITableViewbeginUpdates 必须与对endUpdates 的调用相匹配。 UICollectionViewperformBatchUpdates:completion 方法不需要您在进行更新时回调到集合视图,这可能是因为您传递的用于更新集合视图的工作块包含在这些调用中.

UITableView 早于被添加到 Objective-C 的块。我怀疑 UITableView 没有类似 API 的原因是它的公共 API 是在合并块之前设计的。

【讨论】:

自 2020 年起,UITableViewbeginUpdatesendUpdates 被标记为“将在未来的版本中弃用”。

以上是关于UITableView "beginUpdates" 和 UICollectionView "performBatchUpdates" 是不是具有相同的行为?的主要内容,如果未能解决你的问题,请参考以下文章

UITableView

UITableView "cellForRowAt: indexPath" 偶尔在 Core Data 属性上调用 "init?(coder aDecoder: NSCo

UITableView 自定义单元格不显示数据

UITableView 方法“indexPathForRowAtPoint:”的奇怪行为

uitableview为分组模式时怎么设置组头标题悬停

使用 FetchedResultsController 显示“过去”和“即将到来”部分 UITableView