Ios 选中并取消选中同一UITableViewCell

Ios 选中并取消选中同一UITableViewCell,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我需要取消选中表格视图中的单元格。就像复选框一样,一旦我按下某个单元格,它将保持选中状态,如果我再次按下同一单元格,它将保持未选中状态。可能吗 我所发现的只是一些取消选择单元格的方法 [table deselectRowAtIndexPath:NSIndexPath animated:YES]; 但这没用 upd: 我不需要检查许多单元格,如果点击选定单元格,我只需要取消选中单元格,如果点击其他(未选中)单元格,则选中的单元格应将状态更改为未选中(默认情况下,单元格中的单元格已工作)在加载数据

我需要取消选中表格视图中的单元格。就像复选框一样,一旦我按下某个单元格,它将保持选中状态,如果我再次按下同一单元格,它将保持未选中状态。可能吗

我所发现的只是一些取消选择单元格的方法

[table deselectRowAtIndexPath:NSIndexPath animated:YES];
但这没用

upd:
我不需要检查许多单元格,如果点击选定单元格,我只需要取消选中单元格,如果点击其他(未选中)单元格,则选中的单元格应将状态更改为未选中(默认情况下,单元格中的单元格已工作)

在加载数据源的位置 这样做

要选择/取消选择,请在表中执行此操作视图:didselect

    if ([[arrSelected objectAtIndex:indexPath.row] boolValue] == YES) {
        [arrSelected replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:NO]];
    }
    else{
        [arrSelected replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:YES]];
    }

最简单的方法,但不是最好的: 在didSelectRow中,在设置AccessoryType之前,您只需调用:

[tableView reloadData];
这将取消选择所有行所有行,然后检查currentCell

在cellForRow中,将单元格的accesoryType设置为none

ios swift
一,。默认情况下,所有单元格都处于非活动状态,因此将单元格存储在字典中

var indexPathCheckmark = [Int: Bool]()

// set all the values initally false for check mark
                    for var index = 0 ; index < self.listOfOldApps.count ; index++ {
                        self.indexPathCheckmark[index] = false
                    }

可能重复检查这个答案,它应该有帮助-AllowsMultipleSelection@Andrea我不需要检查很多单元格,如果点击选中的单元格,我需要取消选中单元格,如果点击其他(未选中的)单元格,选中的单元格应将状态更改为未选中状态,但仅在添加[tableView reloadData]时有效;如果([[arrSelected-replaceObjectAtIndex:indexPath.row]boolValue]==YES){[arrSelected-replaceObjectAtIndex:indexPath.row withObject:[NSNumber-numberWithBool:NO]];[tableView-reloadData];}
ios swift
var indexPathCheckmark = [Int: Bool]()

// set all the values initally false for check mark
                    for var index = 0 ; index < self.listOfOldApps.count ; index++ {
                        self.indexPathCheckmark[index] = false
                    }
// set a check marker for all cell required
    let cell = tableView.cellForRowAtIndexPath(indexPath)
    if (indexPathCheckmark[indexPath.row] == false) {
        indexPathCheckmark[indexPath.row] = true
        cell?.accessoryView = UIImageView(image: UIImage(named: "done-active"))
    } else {
        indexPathCheckmark[indexPath.row] = false
        cell?.accessoryView = UIImageView(image: UIImage(named: "done"))
    }