Swift 2 + Loading + Alert

Galera,

Estou tentando fazer um loading e ao desaparecer o loading eu exibo um modal, porem ate agora sem sucesso, estou pegando esse erro:

Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior

Eu dei uma resumida no fonte pra ficar mais facil o entendimento:

@IBAction func btnEnrollDevice(sender: AnyObject) {
     showProgress("Loading...")
     clear()
}

func clear() {
   dismissProgress()
   showAlertDefault("Alert", message: "All the preferences were clear!")
}

func showProgress(title: String) {
    UIApplication.sharedApplication().networkActivityIndicatorVisible = true
    
    let indicator: UIActivityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray)
    let alert : UIAlertController = UIAlertController.init(title: nil, message: "Please wait...\n\n", preferredStyle: .Alert)
    
    indicator.frame = alert.view.bounds
    indicator.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
    alert.view.addSubview(indicator)
    
    self.presentViewController(alert, animated: true, completion: nil)
    indicator.startAnimating()
}

func dismissProgress() {
    UIApplication.sharedApplication().networkActivityIndicatorVisible = false

    let indicator: UIActivityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray)

    self.dismissViewControllerAnimated(true, completion: nil)
    indicator.stopAnimating()
}

Alguem tem alguma ideia?

Valeu galera :slight_smile:

Provavelmente você está tomando um erro nesse momento:

Veja que você está dando um dismiss no viewController (self) antes de mostrar um alert, que teria como pai esse viewController que está saindo da tela.

Com base nisso, olhe o erro:

Você está carregando um viewController (o alert) enquanto está desalocando seu pai (a própria classe).

Sugestão: tire essa linha do seu dismissProgress:

self.dismissViewControllerAnimated(true, completion: nil)