Q:

Check and uncheck the same UITableViewCell

I need to uncheck cell in my tableView. Like a checkbox, once i pressed a cell it stay selected, if i pressed again the same cell it stay unselected. Is it possible?
All I found is some method for deselecting cells
[table deselectRowAtIndexPath:NSIndexPath animated:YES];

but it's not useful
upd:
i don't need to check many cells, all i need to uncheck cell if a tap on selected cell, and if i tap on other(unselected) cell, selected should change state to unselected(it's already work by default in cells)

A:

Where your datasource is load
do this
arrSelected = [[NSMutableArray alloc] init];
for (int i = 0; i <arrSong.count; i++) {
    [arrSelected addObject:[NSNumber numberWithBool:NO]];
}

In your cell for indexpath do this
if ([[arrSelected objectAtIndex:indexPath.row] boolValue] == YES) {
    [cell setAccessoryType:UITableViewCellAccessoryCheckmark];
}
else{
    [cell setAccessoryType:UITableViewCellAccessoryNone];
}

To select/deselect do thisin you tableview: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]];
    }

