tableView:numberOfRowsInSection
被发送到UITableView的委托,以找出它在给定部分中需要有多少行。
我的问题是,此方法的调用时间和频率是多少?
答案 0 :(得分:6)
在第一次加载tableview时调用该方法,如果你对委托更感兴趣,那么放一个断点并检查调用哪个委托的时间和地点以及多少次。
答案 1 :(得分:5)
以下是调用该函数的实例,
答案 2 :(得分:3)
方法- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
是 UITableViewDataSource - 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];
希望它有所帮助!
答案 3 :(得分:3)
我的问题是,此方法的调用时间和频率是多少?
简答:当您的UITableView
需要更新内容时。
长答案:代表方法通常会调用自己,但是当UITableView
需要更新某些内容时,可能会多次调用它们。默认情况下,第一次调用tableview时会调用它(重新加载)。
答案 4 :(得分:2)
这取决于用户将UITable视图滚动到部分的频率以及有多少部分。此值,由此函数返回并进行转换。如果您要更新表格视图的内容(过滤结果或通过 reloadData 更新数据),则需要撤销方法。
最好的办法是将记录添加到此功能并自行检查。