У меня есть все мои предупреждения в отдельном классе, например, так:
class AlertViewController {
func someAlert(with title: String?, message: String?, viewController: UIViewController) {
let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
let someAction = UIAlertAction(title: "Action Title", style: .default) { (_) in
//Perform your action here
}
alertController.addAction(someAction)
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alertController.addAction(cancelAction)
viewController.present(alertController, animated: true, completion: nil)
}
}
Если вы используете style: .cancel
, оно автоматически отключит предупреждение.Кроме того, в качестве лучшего UX, включая этот .cancel
, пользователь также может нажимать в любом месте представления, чтобы отключить оповещение.
Вы можете вызывать это действие, где это необходимо;
AlertViewController.someAlert(with: "Title", message: "Message", viewController: self)
Самость - это UIViewController
, который вы хотите представить.