如何获取NSIndexPath部分中的行数

时间:2012-09-04 15:43:58

标签: objective-c ios nsindexpath

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

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

5 个答案:

答案 0 :(得分:10)

一切都在文档中

numberOfRowsInSection:

int rows = [table numberOfRowsInSection:indexPath.section];

答案 1 :(得分:6)

唯一的方法是询问表格的数据来源:

NSUInteger rowCount = [tableView.dataSource tableView:tableView numberOfRowsInSection:indexPath.section];

答案 2 :(得分:5)

以下是我在我的案例中的表现:

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

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

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

NSInteger numberOfRows = [tableView numberOfRowsInSection:[indexPath section]];

答案 3 :(得分:2)

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

答案 4 :(得分: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];