2017-02-24 40 views
-1

我需要你的帮助。我正在开发一个使用firebase和swift的IOS应用程序。我有JSON文件中的用户列表,使用的是我试图验证用户的JSON文件。 目前,我的代码可以检索电子邮件的价值。我的目标是获得ID,如果我把我的输入作为电子邮件。举例来说:如果我给email作为[email protected],那么我需要它的ID为231.为此,我写了一个函数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

这个问题与这说明如何通过电子邮件查询,并获取ID值的代码示例,先前回答。 – Jay

回答

0

一个错误,可能是这个问题:

findParent(emailofUser) 

应该是:

findParent(emailofUser.text) 
相关问题