为啥 cellForRowAtIndexPath 没有被触发,但其他方法被触发了?
Posted
技术标签:
【中文标题】为啥 cellForRowAtIndexPath 没有被触发,但其他方法被触发了?【英文标题】:Why isn't cellForRowAtIndexPath fired but other methods are?为什么 cellForRowAtIndexPath 没有被触发,但其他方法被触发了? 【发布时间】:2016-04-17 04:23:08 【问题描述】:numberOfSectionsInTableView
和 numberOfRowsInSection
都在我的桌子上被调用。我正在使用的数组中有 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(cellForRowAtIndexPath) 与 tableView.cellForRowAtIndexPath()?