Удаление нежелательного просмотра после перехода

Я пытаюсь выполнить удаление модального ViewController и после этого автоматически перейти к следующему ViewController. Я использую для этого разматывать segue и выполнять Segue внутри разматывания.

@IBAction func unwindWithChatTo(unwindSegue: UIStoryboardSegue) {
    performSegue(withIdentifier: "chatStartTwo", sender: nil)
}

Проблема: после выполнения executeSegue и появления следующего ViewController выполняется нежелательный переход обратно к первому представлению.

Поток: Modаl View -> 1VC -> 2VC -> 1VC (Нежелательный)

Что может быть причиной этого нежелательного возврата и как это исправить?

Я не нашел никаких советов по таким случаям. Очень ценю ваш совет.


person Denis    schedule 19.11.2020    source источник
comment
В каком классе находится метод unwindWithChatTo? Метод раскрутки должен быть в контроллере представления, а не в модальном контроллере. Вы также можете раскрутиться только на этот контроллер, а не на другой (afaicr). Я бы посмотрел на использование метода отклонения с блоком завершения, который инициирует запуск следующего VC.   -  person flanker    schedule 20.11.2020
comment
Благодарю вас! Я, наконец, решил не использовать unwind здесь, и это сработало.   -  person Denis    schedule 21.11.2020


Ответы (1)


Проверьте, есть ли в 2VC какой-либо переход, определенный (выполненный) в раскадровке или программно. Попробуйте установить точку останова в viewDidLoad или viewWillApear из 1 VC или viewWillDisAppear из 2 VC и попытаться отследить точку срабатывания для повторного отображения 1 VC.

person Manish Punia    schedule 20.11.2020
comment
Большое спасибо! Я попробовал ваши предложения, но не нашел первопричину. Наконец решил сделать эту логику без раскрутки, и эта проблема не появилась. - person Denis; 21.11.2020