UITextField始终为零

时间:2016-01-29 16:33:05

标签: ios swift uitextfield

我正在为我正在开发的应用程序提供两个单独的注册和登录页面。登录页面效果很好,但是我在注册页面遇到了一个奇怪的问题。注册过程有3个单独的ViewControllers,第一个包含名称,电子邮件,用户名和密码文本字段。然后,您可以单击另一个ViewController,在其中添加图片,然后使用ViewController显示所有信息并具有“确认”按钮。这个按钮然后调用我的signUp方法,当我尝试将它传递给String变量时,我收到NameTF.text为nil的错误。我已经尝试定期传递TextFields数据以及使用:

@IBAction func FirstNameTF2(sender: UITextField) {
    firstName = sender.text!
}

编辑:完整的当前代码

class SignUpViewController: UIViewController {
// Sign Up Page 1
@IBOutlet weak var FirstNameTF: UITextField!
@IBOutlet weak var LastNameTF: UITextField!
@IBOutlet weak var EmailTF: UITextField!
@IBOutlet weak var UserNameTF: UITextField!

//Sign Up Page 2
@IBOutlet weak var PasswordTF: UITextField!
// Bday, gender coming

//Sign Up Page 3
// Profile picture coming

func signUp(){
    let user = PFUser()
    let firstName = FirstNameTF.text
    let lastName = LastNameTF.text
    let fullName = firstName! + " " + lastName!
    user.username = UserNameTF.text
    user.password = PasswordTF.text
    user.email = EmailTF.text
    user["name"] = fullName

    user.signUpInBackgroundWithBlock {
        (succeeded: Bool, error: NSError?) -> Void in
        if let error = error {
            //let errorString = error.userInfo["error"] as? NSString
            // Show the errorString somewhere and let the user try again.
        } else {
            // Hooray! Let them use the app now.
        }
    }

}


@IBAction func SignUpButton(sender: AnyObject) {
}


}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您似乎在IB中为3个视图控制器使用了相同的类。如果是这种情况,您必须记住,您将拥有3个单独且独立的类实例。一个实例上的出口不会转移到另一个实例。因此,例如,如果firstNameTF连接到第一页并接收值,则此值仅存在于该实例中,并且在显示时不可访问第2页或第3页。