Я бы лучше использовал шаблон делегирования .Это просто управлять и легко понять.
В верхней части FourthController после импорта необходимо добавить
protocol FourthControllerThankDelegate {
func didTapYourButton()
}
, а затем добавить переменную внутри этого класса
class FourthController: UIViewController {
weak var delegate: FourthControllerThankDelegate?
...
}
, затем вам нужно вызвать didTapYourButton () внутри вашего обработчика действия кнопки
@IBAction func thanksButtonTapped(_ sender: Any) {
delegate?.didTapYourButton()
}
, затем внутри функции ViewController nextTapped: вам необходимо установить этот контроллер представления в качестве делегата для FourthController
case 3:
... // I have skipped code above
toController.delegate = self
setButtonAndProgressLabel()
}
и, наконец, вам нужно обработать действие делегата
extension ViewController: FourthControllerThankDelegate {
func didTapYoutButton {
pageIndex = 2
backTapped(self)
}
}
После этого обработчик backTapped переместит вас на первую страницу.Это не лучший способ вернуться назад.Чтобы улучшить это, вы можете создать функцию «displayMeFirstPage» и переместить туда часть логики из случая backTapped (): 2 и вызвать ее внутри этого случая и внутри обработчика делегата.Есть много способов улучшить навигацию.Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать.