2

我想获取 NSIndexPath 部分中的行数。对于我在这里和 Apple 文档中的所有搜索,我找不到如何获得这个值。有什么线索吗?

我的具体目的是使用它来确定所选行是否是该部分中的最后一行,因此如果有人建议通过另一种方式确定该行,那将是一样好。

4

5 回答 5

10

一切都在文档中

numberOfRowsInSection:

int rows = [table numberOfRowsInSection:indexPath.section];
于 2012-09-04T15:50:21.710 回答
6

唯一的办法就是询问表的数据源:

NSUInteger rowCount = [tableView.dataSource tableView:tableView numberOfRowsInSection:indexPath.section];
于 2012-09-04T15:47:58.367 回答
5

在我的情况下,这是我的做法:

表部分包含存储在 中的对象列表NSArray,因此部分中的行数是数组中对象的数量。在您的情况下-如果行不是数组中的对象-只需进行检查

if ([indexPath row] + 1 == [_objectsArray count]) {
    ...

但是,如果表中的项目未保存在集合中,则只需在委托方法中调用tableView对象的适当方法即可轻松检索部分中的行数:didSelectRow..

NSInteger numberOfRows = [tableView numberOfRowsInSection:[indexPath section]];
于 2012-09-04T15:48:36.697 回答
2

您可以调用tableView:numberOfRowsInSection:的方法UITableViewDataSource,传递节号。tableView:numberOfRowsInSection:但是,根据模型中的内容生成此数字的是您自己的代码,因此查看数据源中的实现以查看是否可以通过替代路径获得相同的答案可能是有意义的。

于 2012-09-04T15:48:06.017 回答
1

如果您在谈论 UITableView,您可以询问它的 dataSource,这很可能是您自己 :-)

[self.tableView.dataSource tableView: self.tableView numberOfRowsInSection: indexPath.section];

// or, if you are the dataSource...
[self tableView: self.tableView numberOfRowsInSection: indexPath.section];
于 2012-09-04T15:50:03.060 回答