I assume that you want to allow only one row selected at a time.
Here is what I suggest in tableView: didSelectRowAtIndexPath: ::
Mark all lines as not selected:
for (int i = 0; i < [selectedArray count]; i++) { [selectedArray replaceObjectAtIndex:i withObject:[NSNumber numberWithBool:NO]]; }
Then mark the current line as follows:
[selectedArray replaceObjectAtIndex:[indexPath row] withObject:[NSNumber numberWithBool:YES]];
OR, do everything in the same for the loop:
for (int i = 0; i < [selectedArray count]; i++) { NSNumber rowSelected = [NSNumber numberWithBool:(indexPath.row == i)]; [selectedArray replaceObjectAtIndex:i withObject:rowSelected]; }
Hope this is what you want!
source share