1

我有一个UITableView我在其中添加了部分。didSelectRowAtIndex与我一起使用时,indexPath.row我没有得到正确的值。假设我在第 2 部分,然后它再次从 0 开始行索引 (indexPath.row),因此我得到了错误的索引。

假设第一个数组有 4 个名称:(0)50 street、(1)apple、(2)boy 和 (3)cat。当您选择任何人时,它会根据索引 (0,1,2,3) 加载正确的详细视图。但是,当您去搜索并键入“b”时,它会将表格缩小到现在位于第 0 行的 (2)boy。因此,当您选择 50 street 时,它会从原始数组中加载 boy。

谁能告诉我如何解决这个问题?我意识到可以通过获取节索引,indexPath.section但我不知道如何使用它。

4

2 回答 2

0

您可以通过将上述部分的计数相加来计算“从顶部开始的总行数”,即。int j=0;for (int i=0;i<indexPath.section;i++) {j=j+[tableView numberOfRowsInSection:i];j=j+indexPath.Row;}

于 2011-05-09T06:34:53.117 回答
0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) // First section
{
//Do something
}
else if(indexPath.section == 1) // Second Section
{
//Do something 
}
}
于 2011-05-09T06:00:46.617 回答