iOS - tableView 的 reloadData 不调用 cellForRowAtIndexPath

Posted

技术标签:

【中文标题】iOS - tableView 的 reloadData 不调用 cellForRowAtIndexPath【英文标题】:iOS - tableView's reloadData not call cellForRowAtIndexPath 【发布时间】:2014-02-16 02:37:53 【问题描述】:

我对方法cellForRowAtIndexPath 没有被调用没有任何问题,因为一切正常。

但是情况是这样的,我从webservice 10项开始加载数据,每次多加10个,插入到数组的开头。所以数据数组已经正确更新,然后我调用[tableView reloadData],我也得到了tableView中显示的正确数据。

但奇怪的是,无论我加载多少项目,cellForRowAtIndexPath 前 10 个项目只调用了 1 次,之后的 10 个项目不需要再次调用。为什么会这样?

【问题讨论】:

您的section方法中的单元格数量是否也在更新? 正如我已经说过的,一切都很完美!但我只是想知道为什么会这样。 如果一切都很完美,那么您的应用程序必须运行良好。如果没有,那么就有问题了。你能显示代码吗? 【参考方案1】:

它只刷新它实际需要绘制的单元格,在您将它们滚动到屏幕上之前它不会调用其他单元格。想象一下,如果你有 1000 个细胞而不是 20 个……

【讨论】:

以上是关于iOS - tableView 的 reloadData 不调用 cellForRowAtIndexPath的主要内容,如果未能解决你的问题,请参考以下文章

点击/ reloadData不更改单元格时TableView单元格消失?

使用UITableView是如何判断reloadData加载数据已经结束

在 iOS Carplay 中延迟加载数据

iOS:在 reloadData 时保持 UITableView 在同一位置

ios tableview 单选

ios tableView sectionHeader 吸顶效果