【问题标题】:Why UITableViewCell's cellForRowAt method not calling?为什么 UITableViewCells cellForRowAt 方法不调用?
【发布时间】:2019-02-12 10:55:03
【问题描述】:

我已经在 storyboard 中设置了 tableView 的委托和数据源,并且我用 tableView 的某些数据填充了数组。

当我重新加载 tableView 时,它会调用 numberOfRowsAt 方法,但它不能用于 cellForRowAt。

当我通过从其他页面滑动来刷新整个页面时,它工作正常。但在某些情况下它不起作用。

除了数组计数和委托数据源连接之外,是否还有其他缺失代码可以解决此问题?

【问题讨论】:

  • 你能在这里显示一些代码吗?
  • 看起来 numberOfRowsForSection 返回 0 计数。
  • 没有。此方法从数组返回完美计数。我在 reloadData 方法之前调试了这个,在这个方法中也通过打印数组计数。
  • 我认为你必须在值数组填满数据后重新加载表。请发送一些代码以便我们给你建议。
  • 不调用 cellForRowAtIndex 的另一个原因是 UITableView 的可见性。确保您的 tableView 可见(不隐藏)并检查 tableView 的高度(不应为 0)

标签: ios objective-c uitableview


【解决方案1】:

为了确保您的代理正确设置为包含 viewController,我建议以编程方式实现 tableView 代理和数据源:

tableView.delegate = self;
tableView.datasource = self;

另外,cellForRowAtIndexPathnumOfRowsAtIndexPath 返回 0 时不会被调用。

【讨论】:

  • 是的。你是对的。但是,当您解释甚至检查此问题的小错误和愚蠢错误时,我已经注意到了。但是,我无法找到并解决这个问题。
  • 您能否从您的代码中分享一些用于 tableView 委托和数据源方法的代码 sn-p。另外,让我知道您如何修改用于填充 tableview 的数组。
猜你喜欢
  • 1970-01-01
  • 2015-07-01
  • 2018-03-26
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多