When using UIAlertController like this:
var alert = UIAlertController(title: "Core Location", 
     message: "Location Services Disabled!", 
     preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, 
     handler: nil))
self.navigationController.presentViewController(alert, animated: true, 
     completion: nil)
I noticed that the dismissal of the alert view is seemingly done automatically. Shouldn't the dismissal of a presented ViewController be done by the presenting ViewController via a delegate call?
Is some Cases you may like to use this:
  class MyAlertController : UIAlertController {
    var dismissHandler : (()->())?
    override func viewDidDisappear(_ animated: Bool) {
      dismissHandler?()
      super.viewDidDisappear(animated)
    }
  }
Usage:
  let alert = MyAlertController(title: ...
  let cancelButton = UIAlertAction(titl
  alert.dismissHandler = { /*...do something */ }
  alert.addAction(cancelButton)
  ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With