В моем приложении реализован сингл-посредник навигации. Медиатор сохраняет ссылку на контроллер основного представления, чтобы запустить переходы контроллера просмотра. Поэтому, чтобы представить контроллер представления, потребитель будет называть навигационный посредник для этого. То же самое с увольнением, чтобы он мог сбросить основной контроллер представления.Увольнение UIAlertController
Проблема, с которой я сталкиваюсь, заключается в представлении UIAlertController. Я не могу уволить этого контроллера через мой медиа-посредник, потому что он автоматически отключается при нажатии кнопки, поэтому теряется возможность сброса основного контроллера представления при его увольнении.
Единственное решение, с которым я столкнулся, это создать расширение на UIAlertController для переопределения viewWillDisappear, которое сбрасывает основной контроллер представления, как показано ниже. Есть ли способ отменить поведение увольнения по умолчанию?
extension UIAlertController {
public override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
NavigationMediator.resetPrimaryViewController(self.presentingViewController)
}
}
UIAlertView устарел в iOS8. Рекомендуется поддерживать UIAlertController. Спасибо хоть. –
Устаревший не означает, что он ошибается. Это просто предупреждение. –