¿Cómo puede obtener las filas seleccionadas de un UITableView?

Así que escribí este código para poner una marca de verificación junto a una fila que quiero seleccionar porque quiero múltiples filas seleccionadas

UITableViewCell *cell = [tableView cellForRowAtIndexPath:path];

if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
    cell.accessoryType = UITableViewCellAccessoryNone;
} else {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}

pero cuando uso el método:

NSArray *selectedIndexPaths = [self.LightsView indexPathsForSelectedRows];

solo obtiene la última fila en la que hice clic. ¿La marca de verificación no lo está seleccionando?

Respuestas a la pregunta(1)

Su respuesta a la pregunta