通过segue发送文本条目



我正在通过一个segue发送一个textfield条目,以出现在另一个ViewController上的textfield中。我遇到的问题是,无论是分段还是发送textfield条目都工作正常。我知道segue标识符是正确的,就像我使用self.performSegueWithIdentifier("WelcomeSignUp", sender: nil )一样,它工作得很好。有人能指出我犯的错误或更好的方法吗?

这是第一个ViewController 的代码

@IBOutlet var Email: UITextField!
@IBAction func Signup(sender: AnyObject) {
    let email = self.Email.text
    if email == "" {
        displayAlert("Error", message: "Please Enter Your Email Address")
    }   else {
        func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
            if segue.identifier == "WelcomeSignUp" {
                let destination = segue.destinationViewController as! SignUpViewController
                destination.mail = Email.text!
            }
        }
        }
}

接收ViewController 的代码

@IBOutlet var EmailSignUp: UITextField!
var mail = ""
override func viewDidLoad() {
    super.viewDidLoad()
    EmailSignUp.text = mail
}

来自第一个ViewController 的更新代码

@IBAction func Signup(sender: AnyObject) {
    let email = self.Email.text
    if email == "" {
        displayAlert("Error", message: "Please Enter Your Email Address")
    }   
}
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "WelcomeSignUp" {
        let destination = segue.destinationViewController as! SignUpViewController
        destination.mail = Email.text!
    }
}

prepareForSegue(_:sender:)必须是一个实例方法,但您已将其声明为Signup(_:)中的嵌套(未使用)函数。

您需要将其移出,以便在与Signup(_:)相同的作用域中声明它。

最新更新