Я пытаюсь popViewController на предыдущий контроллер просмотра в стеке навигации после alertView. В настоящее время, моя программа не будет работать метод popViewController, так как alertView находится в пути, и выводит сообщение об ошибке:Переход к предыдущему контроллеру в стеке навигации (Swift)
UINavigationController 0x17670900 while an existing transition or presentation is occurring; the navigation stack will not be updated.
Как идти о запуске методы popViewController после того, как пользователь нажимает кнопку OK от alertView? Должен ли я устанавливать делегат, который обнаруживает, когда используемые клики ОК?
Вот мой код:
//alertView after Picture saved
let alertView = UIAlertController(title: "Success!", message: "Record Saved to Database", preferredStyle: .Alert)
alertView.addAction(UIAlertAction(title: "Ok", style: .Default, handler: nil))
self.presentViewController(alertView, animated: true, completion: nil)
//go to previous controller using popViewController, doesnt work, brings up error message
if let navController = self.navigationController {
navController.popViewControllerAnimated(true)
}
Вы звоните в два перехода одновременно: присутствуете предупреждение и поп-контроллер предыдущего вида. Вызовите настоящее предупреждение так же, как сейчас, но затем в обработчике действий вызовите popViewController. Он будет вызываться, когда пользователь нажимает кнопку OK. –