我正在通过一个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(_:)
相同的作用域中声明它。