Полагаю, вы хотите разрешить выделение только одной строки за раз.
Вот что я предлагаю в tableView: didSelectRowAtIndexPath:
:
Пометить все строки как не выбранные:
for (int i = 0; i < [selectedArray count]; i++) {
[selectedArray replaceObjectAtIndex:i withObject:[NSNumber numberWithBool:NO]];
}
Затем отметьте текущую строку как выбранную:
[selectedArray replaceObjectAtIndex:[indexPath row] withObject:[NSNumber numberWithBool:YES]];
ИЛИ, сделайте все то же самое для цикла:
for (int i = 0; i < [selectedArray count]; i++) {
NSNumber rowSelected = [NSNumber numberWithBool:(indexPath.row == i)];
[selectedArray replaceObjectAtIndex:i withObject:rowSelected];
}
Надеюсь, это то, что вы хотите!