反正有没有得到当前tableView的行数?

时间:2014-12-19 03:29:56

标签: ios uitableview

不是visibleCells,总行数。

我知道有一个数据源数组,但是可以在不涉及数据的情况下获取吗?

有人说这个问题陈述不清楚,所以更新我的情况:我想在tableView中插入一些行,一种常见的方法是重新组装数据源数组然后用[tableView reloadData]刷新整个tableView,但我不想因为用户实验而这样做。相反,我尝试使用insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation方法来插入新行,因此必须要做的就是创建indexPaths。我选择[NSIndexPath indexPathWithIndex:],因此您知道我应该获取先前的行数,然后生成indexPaths数组,并在调用insertRowsAtindexPaths:withRowAnimation:之前更新数据源数组。通过这种方式更新数据源阵列非常重要。我认为这很糟糕,所以我有点好奇"无论如何得到当前tableView的行数?"

5 个答案:

答案 0 :(得分:5)

要获取表视图中的总行数,请遍历表视图中的每个部分,并将rowCount增加当前部分中的行数:

NSInteger rowCount = 0;

for (NSInteger i = 0 ; i < tableView.numberOfSections ; i ++) {
    rowCount += [tableView numberOfRowsInSection:i];
}

答案 1 :(得分:2)

在swift 3中:

asp.net mvc view

答案 2 :(得分:0)

只需使用[TableView numberOfRowsInSection:yourSection];

即可

答案 3 :(得分:0)

swift版本:yourTableView.numberOfRows(inSection: 0)

答案 4 :(得分:-3)

如果你的所有表行都有相同的高度,那么你可能会去:

row count = tableView.contentSize.height / tableView.rowHeight

但如果你的tableView有不同的行高,我无法帮助你:D