AlertController não está na hierarquia da janela

Acabei de criar um projeto de aplicativo de exibição única com a classe ViewController. Gostaria de mostrar um UIAlertController a partir de uma função que está localizada dentro da minha própria classe.

Aqui está a minha aula com um alerta.

class AlertController: UIViewController {
     func showAlert() { 
         var alert = UIAlertController(title: "abc", message: "def", preferredStyle: .Alert)
         self.presentViewController(alert, animated: true, completion: nil)
     }
}

Aqui está o ViewController que executa o alerta.

class ViewController: UIViewController {
   override func viewDidLoad() {
       super.viewDidLoad()  
   }

   @IBAction func showAlertButton(sender: AnyObject) {
       var alert = AlertController()
       alert.showAlert()
   }
}

É isso que recebo, em vez de um alerta bonito.

Aviso: Tente apresentar UIAlertController: 0x797d2d20 no Sprint1.AlertController: 0x797cc500 cuja exibição não está na hierarquia da janela!

O que devo fazer?

questionAnswers(2)

yourAnswerToTheQuestion