Ich brauche deine Hilfe. Ich entwickle eine IOS App mit Firebase und Swift. Ich habe eine Liste der Benutzer in der JSON-Datei, benutzend diese JSON-Datei Ich versuche, Benutzer zu authentifizieren. Momentan kann mein Code den Wert von E-Mails abrufen. Mein Ziel ist es, die ID zu bekommen, wenn ich meine Eingabe als E-Mail gebe. Zum Beispiel: WENN ich E-Mail als [email protected] gebe, dann brauche ich es ID als 231. Dazu habe ich eine Funktion findParent() geschrieben, aber ich bekomme diesen Fehler "kann Wert des Typs 'UITextfield' nicht in das erwartete Argument konvertieren gib 'string' ein ". Bitte hilf mir. Im Folgenden sind Ergänzungen:So finden Sie den Namen eines Kindes von einem Wert
Json Datei:
[
{
"ID": 231,
"iN_Hub Membership": 12345,
"title": "Mr.",
"firstname": "kumar",
"lastname": "sandeep",
"email": "[email protected]",
},
Swift Code:
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)
}
})
}
}
}
Hoffnung jemand wird mir helfen. Vielen Dank im Voraus.
Diese Frage wurde mit einem Codebeispiel beantwortet zuvor, die zeigt, wie per E-Mail abfragen und auch den ID-Wert abrufen . – Jay