2017-02-24 16 views
-1

私はあなたの助けが必要です。 firebaseとswiftを使ってIOSアプリケーションを開発しています。私はJSONファイルのユーザーのリストを持っています。ユーザーを認証しようとしているJSONファイルを使用しています。 現時点では、私のコードは電子メールの価値を取り出すことができます。私の目標は、入力として電子メールを入力するとIDを取得することです。もし私が[email protected]として電子メールを送っているなら、私は231というIDを必要とします。このためにfindParent()関数を書いていますが、このエラーが発生します。 "UITextfield型の値を期待される引数'string'と入力してください。私を助けてください。値から子の名前を見つける方法

JSONファイル:

[ 
{ 
    "ID": 231, 
    "iN_Hub Membership": 12345, 
    "title": "Mr.", 
    "firstname": "kumar", 
    "lastname": "sandeep", 
    "email": "[email protected]", 
}, 

スウィフトコード:

import UIKit 
    import Firebase 
    import FirebaseAuth 
    //import FirebaseDatabase 



    class ViewController: UIViewController { 

     @IBOutlet weak var emailofUser: UITextField! 
     @IBOutlet weak var passwordofUser: UITextField! 
     var ref:FIRDatabaseReference! //created a variable ref of type firebase database reference 
     var databaseHandle:FIRDatabaseHandle? //to handle to database listener like to stop or start it 

    override func viewDidLoad() { 
      super.viewDidLoad() 
    ref = FIRDatabase.database().reference() 


      let newRef = ref.child("4") 





      newRef.queryOrderedByKey().observeEventType(.Value, withBlock: { snapshot in 

        let userId = snapshot.value!["ID"] 

        let memberhipNum = snapshot.value!["iN_Hub Membership"] 
        let emailID = snapshot.value!["email"] 
        print(userId) 
        print(memberhipNum) 
        print(emailID) 


      }) 
      } 


     override func didReceiveMemoryWarning() { 
      super.didReceiveMemoryWarning() 
      // Dispose of any resources that can be recreated. 
     } 


     @IBAction func LoginPage(sender: UIButton) { 

      func findParent(emailid: String) { 

       //set firebase reference 
       ref = FIRDatabase.database().reference() 

       ref.child(emailid).queryOrderedByKey().observeEventType(.Value, withBlock: { snapshot1 in 

        let myuserID = snapshot1.value!["ID"] 

        print(myuserID) 

       }) 
    } 

      findParent(emailofUser) 



       if let email = emailofUser.text, pass = passwordofUser.text { 




       FIRAuth.auth()?.signInWithEmail(email, password: pass, completion: { (user, error) -> Void in 



       if error == nil{ 
       print("Now its working. Well done Sandeep!!") 

       self.performSegueWithIdentifier("UserDetails", sender: self) 


       } 


       else{ 

        print("nonononono") 

        let alertController = UIAlertController(title: "oops!", message: "user name and password combination is wrong!", preferredStyle: .Alert) 

        let defaultAction = UIAlertAction(title: "Ok", style: .Cancel, handler: nil) 
        alertController.addAction(defaultAction) 

        self.presentViewController(alertController, animated: true, completion: nil) 



       } 


      }) 

      } 

    } 

    } 

ホープ誰も私を助ける は以下のサプリメントです。前もって感謝します。問題がある可能性が

+0

。 – Jay

答えて

0

1つのミス:

findParent(emailofUser) 

は次のようになります。質問は電子メールで問い合わせるともID値を取得する方法を示したコード例で、以前に答えた

findParent(emailofUser.text) 
関連する問題