У меня есть UIViewController
, который встроен в UINavigationController
, который представляется модально поверх keyWindow.rootViewController
моего приложения. Когда я представляю UIAlertController
на любом экране представленного навигационного контроллера, контроллер предупреждений отображается правильно, но после нажатия кнопки закрытия для любого из UIAlertAction
не вызывается.
Я отображаю то же самоеКонтроллер оповещений с одинаковым кодом в контроллерах представления, принадлежащих главному навигационному контроллеру моего приложения, и замыкания называются правильно.
Код для представления оповещения очень прост, вот фрагмент:
// Creating Alert
func createAlert() -> UIAlertController {
let actions: [UIAlertAction] = [
UIAlertAction(title: "Something", style: .default, handler: { _ in
self.setOriginalQueue(with: items, description: description, identifier: identifier)
self.setQueue()
}),
UIAlertAction(title: "Cancel", style: .cancel, handler: { _ in
normal()
})
]
let alert = UIAlertController(title: nil, message: message, preferredStyle: .actionSheet, actions: actions)
return alert
}
// In ViewController
DispatchQueue.main.async {
self.present(alert, animated: true, completion: nil)
}
Итак, вопрос в том, почему не называются замыкания?