Функция Exit непреднамеренно отклоняет два контроллера представления вместо одного

#swift #xcode #viewcontroller #presentmodalviewcontroller #presentviewcontroller

#swift #xcode #viewcontroller #presentmodalviewcontroller #presentviewcontroller

Вопрос:

В моем приложении три экрана: вводный, основной и калькулятор. Калькулятор представлен модально из Main. При отключении калькулятора я хочу вернуться к основному. Вместо этого Calculator отключается, а затем Main также автоматически отключается, возвращая пользователя к Intro.

Я пробовал использовать разные типы презентаций и изменять контроллер представления ввода, чтобы иметь пользовательский класс (первоначально он использовал тот же тип, что и Main).

Это моя функция выхода в калькуляторе:

 @IBAction func exitCalculator(_ sender: Any) {
        self.dismiss(animated: true, completion: nil)
    }
  

Я надеюсь использовать функцию exit для отключения калькулятора, но не Main. Я приложил скриншот конструктора интерфейса, чтобы показать организацию экранов.

Скриншот Interface Builder

Комментарии:

1. Как отображается Main из вступления? Есть ли у вас какой-либо код в Main, который отключает себя, который может вызываться при отключении калькулятора?

2. Вы назначили правильный класс MAIN или Calculator в IB

3. @rmaddy При нажатии кнопки Intro представляет Main с переходом к действию «показать». Я настроил это с помощью конструктора интерфейса. Я нажал control, нажал на кнопку во вступлении и перетащил синюю линию на главный контроллер просмотра и выбрал «Показать». Я не думаю, что у меня есть какой-либо код в Main, который бы отключил себя. У меня есть функция unwindToViewController, которая вызывается при выходе из калькулятора.

4. @E.Coms Я так думаю — я установил классы в инспекторе идентификации. Это то, что вы имели в виду?