Проблема в большинстве вопросов, подобных этому, заключается в том, что present
вызывается до viewDidAppear
. Это не причина.Предупреждение: попытка представить UIAlertController на UISplitViewController, чей вид отсутствует в иерархии окон
Это приложение не использует раскадровки NIB, и все операции являются программными.
Окно приложения UISplitViewController
. Контроллеры представлений с разделенным представлением устанавливаются в массив из двух UINavigationController
с. Контроллер детского вида затем представляет собой контроллер вида. Проблема заключается в том, что UIAlertController
s, представленный делегатом приложения, не будет отображаться, пока модуль представления отображается в виде модально. Он работает иначе.
Как я пытаюсь представить:
window?.rootViewController?.present(alert, animated: true, completion: nil)
Я получаю эту ошибку:
Attempt to present UIAlertController on UISplitViewController whose view is not in the window hierarchy
Совершенно аналогичное решение было предложено здесь: http://stackoverflow.com/a/34487871/1187415 для Swift 3 здесь: http://stackoverflow.com/a/40401936/1187415. –