我有UITableView
我添加了部分。将didSelectRowAtIndex
与indexPath.row
一起使用时,我得不到正确的值。假设我在第2部分,然后它再次将行索引(indexPath.row)设置为0,因此我得到了错误的索引。
假设第一个阵列有4个名字:(0)50街道,(1)苹果,(2)男孩,& (3)猫。当您选择任何一个时,它会根据索引(0,1,2,3)加载正确的详细视图。然而,当你去搜索并输入'b'时,它会将表格缩小到只有(2)男孩,现在在第0行。所以当你选择50街道时,它会从原始数组中加载男孩。
谁能告诉我如何解决这个问题?
我意识到可以通过indexPath.section
得到部分索引,但我无法弄清楚如何使用它。
答案 0 :(得分: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
}
}
答案 1 :(得分:0)
您可以通过将上述部分的计数相加来计算“从顶部开始的总行数”,即。 int j=0;for (int i=0;i<indexPath.section;i++) {j=j+[tableView numberOfRowsInSection:i];j=j+indexPath.Row;}