我正在尝试使用我在主viewController中编写的函数,就是这样。
func displayAlert(title: String, message: String)
{
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction((UIAlertAction(title: "Ok", style: .Default, handler:
{ (action) -> Void in
self .dismissViewControllerAnimated(true, completion: nil)
})))
self.presentViewController(alert, animated: true, completion: nil)
}
我试图在其他viewController调用viewControllerRegistro上使用它,由于某种原因无效。这就是......
@IBAction func signUp(sender: AnyObject)
{
//checar que el usuario copero al poner su correo electronico y su contraseña
if usernameRegistro.text == "" || correoRegistro.text == "" || contraseñaRegistro.text == ""
{
ViewController().displayAlert("Informando Error", message: "Porfavor completa los cuadros de registro")
}
任何帮助? 我使用xcode 7.0 beta 6和swift 2
答案 0 :(得分:0)
ViewController()
创建一个新的ViewController实例。该视图控制器不是视图层次结构的一部分(因为您刚刚创建它,而无需在任何地方添加它)。
您必须在当前可见的视图控制器上调用该方法。因此,该函数不应该是MainViewController
类的一部分。它应该是需要它的ViewController类的一部分。或者,如果您在多个视图类中需要它,则可以将该函数添加到UIViewController
的扩展名:
extension UIViewController {
func displayAlert(title: String, message: String) {
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction((UIAlertAction(title: "Ok", style: .Default, handler:
{ (action) -> Void in
self .dismissViewControllerAnimated(true, completion: nil)
})))
presentViewController(alert, animated: true, completion: nil)
}
}
使用此扩展程序,您可以在任何displayAlert
和UIViewController子类上调用UIViewController
。