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】:UITableView
的beginUpdates
必须与对endUpdates
的调用相匹配。 UICollectionView
的 performBatchUpdates:completion
方法不需要您在进行更新时回调到集合视图,这可能是因为您传递的用于更新集合视图的工作块包含在这些调用中.
UITableView 早于被添加到 Objective-C 的块。我怀疑 UITableView 没有类似 API 的原因是它的公共 API 是在合并块之前设计的。
【讨论】:
自 2020 年起,UITableView
的 beginUpdates
和 endUpdates
被标记为“将在未来的版本中弃用”。以上是关于UITableView "beginUpdates" 和 UICollectionView "performBatchUpdates" 是不是具有相同的行为?的主要内容,如果未能解决你的问题,请参考以下文章
UITableView "cellForRowAt: indexPath" 偶尔在 Core Data 属性上调用 "init?(coder aDecoder: NSCo