2016-12-11 19 views
0

私はHerokuとMongoDBにパースサーバーアプリケーションをデプロイしています。私スウィフト3のアプリでは、私は、サインアップ機能を実行するレジスタと呼ばれるボタンを設定します。パースサインアップがSwift 3で正しく動作していない

@IBAction func SignUpBtn(_ sender: UIButton) { 
    let user = PFUser() 
    user.username = usernameTextField.text 
    user.password = passwordTextField.text 
    user.email = emailTextField.text 
    user["nameandsurname"] = nameandsurnameTextField.text 
    user.signUpInBackground { 
     (succeeded: Bool, error: Error?) -> Void in 

     if error != nil { 
      print("error") 
      self.errorLabel.text = "Please make sure the email has not already been used or try changing the username" 
     } else { 
      self.performSegue(withIdentifier: "signuptohome", sender: self) 
     } 
    } 

私はフィールドが空白であっても、ボタンを押すと、ボタンがユーザーをさせる、とにかくホーム・ページにリダイレクトアプリを使用します。どうすればこの問題を解決できますか?

enter image description here

答えて

1

働く次のように私の論理があります。また、Seguesが入っていないことを確かめて、あなたが入り込み、あなたのstoryboardを忘れてしまったことを確認してください。

//this checks 3 fields that they are filled and not empty 
    if passwordTextField.text == "" || emailTxt.text == "" || usernameTextField.text == ""{ 
      simpleAlert(mess: "You must fill all fields to sign up") 
      self.hideHUD() 


    } else { 
     let user = PFUser() 
     user.username = usernameTextField.text 
     user.password = passwordTextField.text 
     user.email = emailTextField.text 

     user.signUpInBackground { (succeeded, error) -> Void in 
      if error == nil { 
       //success register not lets log him in!! 
       PFUser.logInWithUsername(inBackground: self.usernameTextField.text!, password:self.passwordTextField.text!) { (user, error) -> Void in 
        if error == nil { 
         // Here you can go to your logged in or dashboard page!! 
         self.hideHUD() 

        } else { 
         //failed to log user in 
         self.simpleAlert(mess: "\(error!.localizedDescription)") 
         self.hideHUD() 
        }} 
      // ERROR 
      } else { 
       //This will be the failed to register user 
       self.simpleAlert(mess: "\(error!.localizedDescription)") 
       self.hideHUD() 
     }} 
} 
+0

私はHideHUDステートメントで何が起こっているのか分かりません。また、成功行動はどこですか?私は2つのViewController(ログインとサインアップ)と現在のユーザーがチェックされているホーム画面 –

+0

@AlessandroThegregを使用してHideHudを削除できます。それはちょうど特別なHUD私は、アクションがビジーであり、彼は待つ必要があることをユーザーに示すために使用します。この関数はユーザにサインアップし、自動的に彼をログインさせます。そこで、私のコメントを見て、あなたのセグを置く必要があります。 – Cliffordwh

+0

私は理解しました!ありがとう! –

関連する問題