This question already has answers here:
Select multiple rows in UITableview [duplicate]

(5个答案)


3年前关闭。




我在UITableView中有状态列表。现在我想选择UITableView的多行并想在一个array中获得此选定的行值。我如何获得它?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //NSMutableArray *arrData =[statearray objectAtIndex:indexPath.row];
    NSLog(@"arrdata>>%@",statearray);

    static NSString *simpleTableIdentifier = @"SimpleTableItem";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.textLabel.text = [statearray objectAtIndex:indexPath.row];
    return cell;
}


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

    [tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;

}

最佳答案

您可以调用tableview.indexPathForSelectedRows。这将输出一个包含tableview中所有选定行的索引路径的数组!

这就是您的代码在Swift 3中的样子:

var values : [String] = []
let selected_indexPaths = tableView.indexPathsForSelectedRows
for indexPath in selected_indexPaths! {
    let cell = tableView.cellForRow(at: indexPath)
    values.append((cell?.textLabel?.text)!)
}

运行此代码后,所有选定单元格的值都应在values数组中。

关于ios - 如何从uitableview获取多个选定的行值并将多个选定的值保存在数组中? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42270151/

10-16 23:34