传递价值

时间:2016-03-02 05:29:30

标签: ios swift segue

我有一个包含以下代码的按钮:

@IBAction func buttonPress(sender: AnyObject) {
    performSegueWithIdentifier("newAccount", sender: sender)
}

按下按钮时,它会执行一个segue。我想将值传递给新的视图控制器,因此我添加了以下代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "newAccount" {
        if let dvc = segue.destinationViewController as? NewAccountViewController {
            dvc.testValue = "This is my test value I want to pass"
        }
    }
}

NewAccountViewController没有收到值(我没有收到任何错误)。

我在NewAccountViewController中的代码是:

var testValue:String?

当我打印(testValue)时,我什么都没得到。

为什么这不按预期工作?

2 个答案:

答案 0 :(得分:3)

您需要检查班级是否设置正确

与下图中的ViewController一样

enter image description here

答案 1 :(得分:0)

可能有两个原因:1。故事板中的标识符未设置为“newAccount”; 2.您已将导航器视图控制器放入NewAccountViewController,它会要求您将目标转移为UINavigationController而不是NewAccountViewController。希望这会有所帮助。