UIAlertView no funciona en Swift

cuando corro este código rápidamente, no sé por qué la aplicación termina mostrando un punto de quiebre en la parte "alertView.show ()", Alguien por favor ayúdame.

var alertView = UIAlertView( title: "Hey", message: "Hello", delegate: self, cancelButtonTitle: "Cancel" ) alertView.show() 

Desde la class UIAlertView de Xcode 6.0:

UIAlertView está en desuso. Utilice UIAlertController con un estilo preferido de UIAlertControllerStyleAlert en su lugar.

En swift (iOS 8 y OS X 10.10), puede hacer esto:

 var alert = UIAlertController(title: "Alert Title", message: "Alert Message", prefernetworkingStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "Close", style: UIAlertActionStyle.Cancel, handler:handleCancel)) alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler:{ (ACTION :UIAlertAction!)in println("User click Ok button") })) self.presentViewController(alert, animated: true, completion: nil) func handleCancel(alertView: UIAlertAction!) { println("User click cancel button") } 

Si desea utilizar en 'ActionSheet' en lugar de 'Alert', solo necesita cambiar el UIAlertControllerStyle, por ejemplo:

 var alert = UIAlertController(title: "Alert Title", message: "Alert Message", prefernetworkingStyle: UIAlertControllerStyle.ActionSheet) 

UIAlertView está en desuso en iOS 8, pero Swift es compatible con iOS7 y no puede usar UIAlertController en iOS 7. Agregue el siguiente método para resolver el problema:

 func showAlert(title:NSString, message:NSString,owner:UIViewController) { if let gotModernAlert: AnyClass = NSClassFromString("UIAlertController") { var alert = UIAlertController(title: title, message: message, prefernetworkingStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil)) owner.presentViewController(alert, animated: true, completion: nil) } else { let alertView = UIAlertView(title: title, message: message, delegate: self, cancelButtonTitle: "Cancel", otherButtonTitles: "OK") alertView.alertViewStyle = .Default alertView.show() } } 

y llame al método desde cualquier lugar del código como este:

 showAlert(APP_NAME,message: "Add your alert message here" ,owner: self) 

la mejor manera para mí es …

 class ViewController: UIViewController, UIAlertViewDelegate { var allarme = UIAlertView(title: "Warning", message: "This is a best way to create a alarm message", delegate: self, cancelButtonTitle: "OK") allarme.show() 

Recuerde importar en la class UIAlertViewDelegate

Use la siguiente manera:

 var altMessage = UIAlertController(title: "Warning", message: "This is Alert Message", prefernetworkingStyle: UIAlertControllerStyle.Alert) altMessage.addAction(UIAlertAction(title: "Done", style: UIAlertActionStyle.Default, handler: nil)) self.presentViewController(altMessage, animated: true, completion: nil)