Ho appena creato un progetto di applicazione di visualizzazione singola con classe ViewController. Mi piacerebbe mostrare un UIAlertController da una funzione che si trova all'interno della mia stessa classe.AlertController non è nella gerarchia di finestre
Ecco la mia classe con un avviso.
class AlertController: UIViewController {
func showAlert() {
var alert = UIAlertController(title: "abc", message: "def", preferredStyle: .Alert)
self.presentViewController(alert, animated: true, completion: nil)
}
}
Qui è ViewController che esegue l'avviso.
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func showAlertButton(sender: AnyObject) {
var alert = AlertController()
alert.showAlert()
}
}
Questo è ciò che ottengo invece di una bella allerta.
Attenzione: tentativo di presentare UIAlertController: 0x797d2d20 on Sprint1.AlertController: 0x797cc500 la cui vista non è nella gerarchia delle finestre!
Cosa devo fare?
c'è un motivo per cui non stai usando self.show()? – Alex
Dove dovrei usare questa funzione? – wtznc
invece di self.presentViewController (alert, animato: true, completion: nil) usa self.show() – Alex