2016-10-13 3 views
0

SwiftとParseでサインアップビューコントローラをコーディングし始めますか?私はコンソールの出力(印刷を示さなかった既存の電子メールやパスワードを記述しようとすると、ユーザー名または電子メールは、解析クライアントにswiftでのPFErrorCodeの処理

let query = PFQuery(className:"_User") 
     query.whereKey("email", equalTo: email) 
     query.findObjectsInBackground { (succeeded, error) -> Void in 
     newUser.signUpInBackground{(success, error) -> Void in 

      // The find succeeded. 
      print("Successfully retrieved scores.") 


      if success { 
       // Do something with the found objects 


       let alertMessage = UIAlertController(title: "Register complated", message: "You've been registered.", preferredStyle: UIAlertControllerStyle.alert) 
       let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: nil) 

        alertMessage.addAction(okAction) 
        self.present(alertMessage, animated: true, completion: nil) 



      } 

       // Log details of the failure 
       // username is exists 
      else { 

       if PFErrorCode.errorUsernameTaken.rawValue == 202 { 

        print ("Username is exists") 
       } 

       else if PFErrorCode.errorUserEmailTaken.rawValue == 203 { 
        print ("E-mail is exists") 


       } 

      } 

を取られている場合は サインアップは同じ)のチェックを持っています私が望むもの

答えて

0

エラーのコードを比較するのではなく、別のPFErrorCodeで固定された番号を比較しているからです。

/// Your code 
if let error = error, error._code == PFErrorCode.errorUsernameTaken.rawValue { 
    print ("Username is exists") 
} else if let error = error, error._code == PFErrorCode.errorUserEmailTaken.rawValue { 
    print ("E-mail is exists") 
} 

また、電子メールは、あなたがgetFirstObjectInBackground代わりのfindObjectsInBackgroundを使用することを検討すべきであるパー​​スでユニークです。そして、_PFQueryの代わりにPFUser.query()(className: "")を使用してください。

+0

Hey nts、私は、アクションボタンの中に拡張子をコピーし、コンパイラにいくつかのエラーポップがありました。 – user2508528

+0

拡張子を別のファイルに貼り付けてください(例:PFErrorCode + Equatable) – nathan

+0

Hey nts、あなたが書いた拡張機能を試しましたが、3つのエラーメッセージが表示されました。あなたはもっと具体的にどこに拡張を置くべきですか? – user2508528

関連する問題