tableView: didSelectRowAtIndexPath: срабатывает только для выбора самой строки в представлении таблицы, что не похоже на то, что вы пытаетесь сделать.
В методе, в котором вы создаете свои экземпляры UISlider, вы можете хранить эти экземпляры в качестве ключей в NSMutableDictionary (используя setObject: forKey) с NSNumbers в качестве значений для использования в более поздней инструкции switch. Для каждого UISlider убедитесь, что изменение их значения записывается, установив в качестве целевого объекта метод в контроллере, используя нечто похожее на следующее:
[slider addTarget:self action:@selector(sliderValueDidChange:forEvent:) forControlEvents:UIControlEventAllTouchEvents];
и настройте метод в вашем контроллере так:
- (void)sliderValueDidChange:(id)sender forEvent:(UIEvent *)event;
, в котором вы можете использовать отправителя, NSDictionary экземпляров UISlider и оператор switch в intValue NSNumber, чтобы определить, какое значение ползунка изменилось и каково новое значение.
Могу ли я также предложить использовать галочку в качестве дополнительного аксессуара вместо переключателя вкл / выкл? Затем вы можете использовать tableView: didSelectRowAtIndexPath: для отслеживания выбора пользователем строки и отображения галочки в дополнительном представлении, если элемент стал выбранным. Это может более соответствовать Руководству Apple по человеческому интерфейсу.