2016-01-29 3 views
0

У меня есть две отдельные страницы регистрации и входа для приложения, которое я разрабатываю. Страница входа в систему работает отлично, однако я столкнулся с проблемой, связанной с регистрацией. Для процесса регистрации есть 3 отдельных ViewControllers, первый из которых содержит поля имени, электронной почты, имени пользователя и пароля. Затем вы можете щелкнуть еще один ViewController, где вы добавляете изображение, а затем имеете ViewController, который отображает всю информацию и имеет кнопку «Подтвердить». Затем эта кнопка вызывает мой метод signUp, когда я получаю сообщение об ошибке, которое NameTF.text имеет значение nil, когда я пытаюсь передать его переменной String. Я попытался передавая данные TextFields в регулярно, а также с помощью:UITextField всегда nil

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

Edit: Полный текущий код

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) { 
} 


} 

Любая помощь будет оценена.

+0

Описание того, что вы делаете, приятно, но чтобы помочь вам, нам нужно знать, что вы на самом деле делаете в коде. Для этого недостаточно одного примера IBAction. – Eendje

+0

Да, разместите весь свой код. Как трудно понять, почему этот метод действия существует. – Devster101

+0

@Eendje Отредактировано всем моим кодом для этого контроллера просмотра. – jmalatras

ответ

0

Кажется, что вы используете тот же класс для своих 3-х видов контроллеров в IB. Если это так, вы должны иметь в виду, что у вас будет 3 отдельных и отдельных экземпляра класса. Выходы одного экземпляра не переносятся на другой экземпляр. Так, например, если firstNameTF подключен к первой странице и получает значение, это значение существует только в этом экземпляре и недоступно для страницы 2 или страницы 3, когда они представлены.

Смежные вопросы