Как исправить segues после обновлений (iOS13 и Xcode)? - PullRequest
0 голосов
/ 09 января 2020

Мне недавно пришлось обновить проект, над которым я не работал в течение 2 или 3 месяцев. Теперь переходы между этими 3 viewcontrollers просто перестали работать.

С тех пор, как в последний раз я работал над этим проектом, я обновил свою версию XCode с 10 до 11.2.1 и свое устройство от iOS 12 до 13. Сеги работают нормально на других устройствах, все еще в iOS 12.

Я убедился, что стиль представления моих контроллеров представления был установлен на В полноэкранном режиме для сегментов и было установлено значение «Представлять модально» с настройкой презентации «То же, что и пункт назначения» . Я установил их в раскадровке.


Один из контроллеров представления - это контроллер представления дополненной реальности, один отображает карту Google, а последний - простое табличное представление.

При переходе от моего контроллера представления карты к представлению таблицы меня отправляют обратно в главное меню, и я получаю следующее сообщение:

Warning: Attempt to present <AppName.TableView: 0x111f60260> on <AppName.Map: 0x1048c2000> whose view is not in the window hierarchy!

И когда я пытаюсь перейти от карты к моей Контроллер представления дополненной реальности, он успешно работает, но сразу же закрывает вновь открытый контроллер представления AR и go возвращается к моей карте.

Те же самые ошибки все еще присутствуют, если я запускаю Map или мой TableViewController и перехожу к другим VC.

Я попытался установить самый верхний viewcontroller после этого, но это ничего не исправило: https://forums.developer.apple.com/thread/114337


Я использую кнопки, встроенные в представление для go от одного контроллера представления к другому с кодом, подобным этому для каждой кнопки:

    @IBAction func ARBoutonAction(sender: UIButton!) {
        if Filtres.currentViewController == "MapView"{
            Filtres.MapVC.performSegue(withIdentifier: "MapVersAR", sender: self)
        }
        if Filtres.currentViewController == "Liste"{
            Filtres.ListeVC.performSegue(withIdentifier: "ListeVersAR", sender: self)
        }
    }
...