6

tableView:numberOfRowsInSection发送给 UITableView 的委托,以找出在给定部分中需要多少行。

我的问题是,何时以及多久调用一次此方法?

4

5 回答 5

6

以下是调用该函数的实例,

  1. 第一次加载表格时
  2. 重新加载表数据的时间
  3. 您动态添加/更新/删除行或部分的时间。
于 2013-06-04T09:29:05.177 回答
6

在第一次加载 tableview 时调用该方法,如果您对委托更感兴趣,则放置一个断点并检查何时何地调用了哪个委托以及调用了多少次。

于 2013-06-04T09:18:23.223 回答
3

该方法 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)sectionUITableViewDataSource-protocol的一个协议方法。它将在您的表格视图第一次加载时调用,基于您已dataSource正确设置,例如

self.yourTableView.dataSource = self;

如果您有兴趣稍后再次更新您的表格,您可以致电

[self.yourTableView reloadData];

为了重新加载整个表。如果您只对重新加载表格的一部分感兴趣,您可以执行类似的操作

NSIndexSet *reloadSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [self numberOfSectionsInTableView:self.yourTableView])];
[self.yourTableView reloadSections:reloadSet withRowAnimation:UITableViewRowAnimationAutomatic];

希望能帮助到你!

于 2013-06-04T09:24:17.680 回答
3

我的问题是,何时以及多久调用一次此方法?

简短答案:当您UITableView需要更新某些内容时。

长答案:委托方法通常自称,但是当您UITableView需要更新某些内容时,它可能会被多次调用。默认情况下,它在第一次加载或更新(重新加载)tableview 时被调用。

于 2013-06-04T09:24:17.793 回答
2

这取决于用户将 UITable 视图滚动到部分的频率以及有多少部分。此值,由该函数返回并被缓存。如果您要更新表格视图的内容(过滤结果或通过reloadData更新数据),则需要撤销方法。

对您来说最好的事情是将日志记录添加到此功能并自己检查。

于 2013-06-04T09:24:04.337 回答