获取不同部分中所选单元格的列表

时间:2012-01-18 10:22:34

标签: ios uitableview

用户可以选择/取消选择每个部分中的单元格,以便跟踪didSelectRowAtIndexPath中的所有选定单元格无效:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NSLog(@"row = %i, section = %i", indexPath.row, indexPath.section);
}

我想要的是节省时间和资源,让用户选中/取消选中他想要的内容,当他点击按钮(进入下一个视图)时,我需要收集整个表视图中的所有选定单元格。我试着这样做:

-(IBAction)nextView:(id)sender{

themesChoosed=[self.tView indexPathsForSelectedRows];//tView is the outlet of my UITableView and themesChosed is an NSArray declared in the .h file
    for (int i=0; i<=[themesChoosed count]; i++) {
        NSIndexPath *thisPath = [themesChoosed objectAtIndex:i];
        NSLog(@"row = %i, section = %i", thisPath.row, thisPath.section);

}
}

但是这并没有给我返回选定的单元格,它始终显示我:row = 0, section = 0好像我只选择第一部分中的第一个单元格。 有关如何这样做的任何想法?

1 个答案:

答案 0 :(得分:1)

接受.h文件

NSMutableArray *selectedArray;

in .m

viewDidLoad

 selectedArray=[[NSMutableArray alloc]init ];

in tableviewDidSelect

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

//According to section take value from table and get string selectedString.

if([selectedArray containsObject:selectedString])

{
[selectedArray removeObject:selectedString];

}

else

{
[selectedArray addObject:selectedString];

}

}