У меня есть следующие настройки:
HomeViewController
|-> buttonTap: present DataEntryViewController (which has a save button)
|-> after delegate call from DataEntryViewController: presents GoodiesViewController
Итак, в основном я хочу, чтобы после нажатия кнопки сохранения и вызова делегата возвращался обратно к HomeViewController
, чтобы затем он представлял GoodiesViewController
Модально выше отображаемого в данный момент модально DataEntryViewController
, и после завершения анимации он должен удалить DataEntryViewController
снизу без анимации (невидимый).
Мой код для делегата fun c следующий:
func dataEntrySuccessful(dataEntry: DataEntryViewController) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "goodies")
controller.modalPresentationStyle = .overFullScreen
controller.modalTransitionStyle = .crossDissolve
self.present(controller, animated: true, completion: {
dataEntry.dismiss(animated: false, completion: nil)
})
}
Однако, GoodiesViewController
никогда не отображается, и вместо этого я получаю следующее сообщение:
Warning: Attempt to present <MyProj.GoodiesViewController: 0x104cb6a40> on <MyProj.HomeViewController: 0x104b18f70> which is already presenting (null)
Как мне заставить это работать?