为啥 cellForRowAtIndexPath 没有被触发,但其他方法被触发了?

Posted

技术标签:

【中文标题】为啥 cellForRowAtIndexPath 没有被触发,但其他方法被触发了?【英文标题】:Why isn't cellForRowAtIndexPath fired but other methods are?为什么 cellForRowAtIndexPath 没有被触发,但其他方法被触发了? 【发布时间】:2016-04-17 04:23:08 【问题描述】:

numberOfSectionsInTableViewnumberOfRowsInSection 都在我的桌子上被调用。我正在使用的数组中有 3 个项目。

cellForRowAtIndexPath 永远不会被调用。什么会导致这种行为?

【问题讨论】:

您是否将tableView 连接到委托和数据源?你能告诉我们你的代码吗? 是的 - 否则这两个函数不会触发。你想看什么代码? 您的其他两个方法是否返回不等于零的值?如果它们返回 0,则不会调用 cellForRowAtIndexPath 1 和 3 是返回的值。 您的 VC 中是否还有其他可能干扰 tableView 的代码? 【参考方案1】:

可能与您的 tableView 的尺寸有关。有关详细信息,请参阅this other answer。基本上,如果您的 tableView 太小,则永远不会调用 cellForRowAtIndexPath 方法。尝试使您的 tableView 更小,或减小 tableView 的页眉或页脚的大小。如果这不起作用,请尝试在主线程上使用 tableView.reloadData() 重新加载表。

【讨论】:

是的。从 StackView 中取出 tableview 后,cellForRowAtIndexPath 被调用,我在 UI 中看到数据加载。

以上是关于为啥 cellForRowAtIndexPath 没有被触发,但其他方法被触发了?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 cellForRowAtIndexPath 没有被触发,但其他方法被触发了?

为啥图像未显示在目标 C 的 cellforRowAtIndexPath 中

为啥“tableview.cellForRowAtIndexPath(indexPath)”给我一个 BAD_ACCESS 错误?

为啥重新加载 tableView 不能快速工作?

为啥我的 Tableview 重用了一些单元格?

tableView(cellForRowAtIndexPath) 与 tableView.cellForRowAtIndexPath()?