но в чем заключается логика?
В 45 строке ты получаешь не индекс нажатой ячейки а индексЫ нажатых ячеек. Скорее всего есть метод который передаёт только одну ячейку. В родном методе коллекции это didSelect. Вот из за этого что у вас одна ячейка нажата всегда будет я и написал что берём индек первого элемента массива