Tableview委托方法willDisplayCell:(UITableViewCell *)单元格forRowAtIndexPath在滚动速度非常快时没有为每一行调用

时间:2012-08-20 08:19:12

标签: iphone objective-c uitableview delegates

当我从tableview的末尾开始5行时,我从服务器加载更多数据。 我为此使用了(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

它大部分时间都有效,但有时当我滚动得非常快时,会跳过一行,因此我的函数不会调用加载更多数据。

我应该如何修复它,因此将为每一个滚动的行调用willDisplayCel委托函数?

1 个答案:

答案 0 :(得分:1)

是否仍然可以看到未调用该方法的单元格,或者是否通过快速滚动跳过它们?

此方法仅针对可见的单元格调用 - 因此,如果您快速滚动,系统会认为它们仍未显示。

我建议更改何时加载更多数据的逻辑 - 因为没有连接速度足以让您从服务器获取数据。

您可以使用弹跳技术或使用表格视图的最后一行来启动加载更多行。通过这种方式,您可以确保应用程序和用户稍等一下,以便从服务器中检索数据。