将prepareForSegue添加到UIAlertAction中

时间:2016-02-25 07:12:42

标签: ios swift segue uialertaction

我想在按下" Next"时将数组传递给另一个ViewController。警报视图中的按钮。

userInformation += [userName, userGender, String(userAge), String(userHeight), String(userWeight)]

let alert = UIAlertController(title:"Confirmation", message: confirmationMessage, preferredStyle: UIAlertControllerStyle.Alert)

let confirmBtn : UIAlertAction = UIAlertAction(title: "Next", style: UIAlertActionStyle.Default, handler: {(action:UIAlertAction!)-> Void in

    let vc = (self.storyboard?.instantiateViewControllerWithIdentifier("toPerInfo"))! as UIViewController

    print(self.userInformation)

    self.showDetailViewController(vc, sender: self)

})

let cancelBtn : UIAlertAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil)

    alert.addAction(cancelBtn)
    alert.addAction(confirmBtn)

    self.presentViewController(alert, animated: true, completion: nil)

这是perpareForSegue

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var destViewController: PersonalInformation = segue.destinationViewController as! PersonalInformation
        var arrayToSegue: [String] = self.userInformation
        destViewController.useInfo = arrayToSegue
    }

我想将perpareForSegue放入" next"按钮。 我应该如何修改我的代码.. 我找不到其他类似的问题......

1 个答案:

答案 0 :(得分:0)

方法-vm D:/jdk8/jre/bin/javaw.exe 实际上是为了自定义数据或将数据传递给新的视图控制器,如prepareForSegue documentation中所述:

  

此方法的默认实现不执行任何操作。子类重写此方法并使用它在显示之前配置新视图控制器。 segue对象包含有关转换的信息,包括对所涉及的两个视图控制器的引用。

如果您真的想要,可以手动推送UIViewController视图控制器:

PersonalInformation