Ich habe VC, wo ich einen neuen Benutzer erstellen und Firebase hinzufügen. Der Benutzer fügt kein Problem in die Datenbank ein, aber ich habe Probleme zu überprüfen, ob bereits ein Benutzer mit demselben Namen existiert. Ich habe versucht, verschiedene Abfrageanweisungen innerhalb Firebase zu verwenden, aber keine Freude zu bekommen. Weiß jemand, wie ich meinen Code ändern kann, um dies zu erreichen? hier ist es: -Firebase-Prüfung für vorhandenen Benutzer in swift
@IBAction func submitUsername(sender: AnyObject) {
if let user = usernameTxtField.text where user != "" {
let username = DataService.ds.REF_USERS.childByAppendingPath("username")
username.observeSingleEventOfType(.Value, withBlock: { snap in
if let usernameDoesNotExist = snap.value as? NSNull {
let currentUser = DataService.ds.REF_USER_CURRENT.childByAppendingPath("username")
self.usernameTxtField.text = user
currentUser.setValue(user)
}
})
dismissViewControllerAnimated(true, completion: nil)
} else {
showAlert("Username Needed", msg: "please choose a username")
}
}
und die Feuerbasis Datenstruktur
"users" : {
"000591b6-ba88-4670-9cb7-edd79c273eab" : {
"newuser" : "added to FB",
"provider" : "password"
},
"05551c90-27fe-4969-b45d-279a72583857" : {
"newuser" : "added to FB",
"provider" : "password"
},
"0bbff1b0-681a-4fef-adc0-c4779a4b2100" : {
"provider" : "password",
"testing" : "emailtest",
"username" : "richy446"
},
"12f35e7a-2430-49b3-a287-f7b1daf6a121" : {
"newuser" : "added to FB",
"provider" : "password",
"username" : "richy445"
},
"15a45560-cc81-4c2d-bb59-b8ce6b125d68" : {
"provider" : "password",
"testing" : "emailtest",
"username" : "richy445"
},
"1c135936-6dd0-4189-bcd7-e8036e9736f9" : {
"newuser" : "added to FB",
"provider" : "password"
},
"21591e29-f083-452c-b74f-cc567cecb183" : {
"newuser" : "added to FB",
"provider" : "password"
},
"8b385aa7-0e80-426b-a385-5b3317c894d0" : {
"newuser" : "added to FB",
"provider" : "password",
"username" : "richy445"
}
}
Sind Sie fragen, wie zu sehen, zu überprüfen, ob der Benutzername in Firebase (das heißt Anmeldedaten) vorhanden ist oder fragen Sie, wie zu sehen, ob der Benutzername in Ihrem/Benutzer Knoten vorhanden ist? Wenn Sie Ihre Firebase-Struktur veröffentlichen (als Text, keine Bilder, bitte), hilft uns das, Ihre Struktur zu verstehen und Ihre Frage zu klären. – Jay
mainDict -> Beiträge -> Benutzer -> Benutzername, das ist die Struktur von Firebase, innerhalb des Benutzernamens, ich möchte einen Benutzer zu der Datenbank hinzufügen, die ich mache, aber aber wenn ein Benutzername bereits vergeben ist, möchte ich nicht hinzufügen ein Benutzer (wird wahrscheinlich eine Nachrichtenbenachrichtigung irgendeiner Art anzeigen) –
Das ist nicht wirklich eine gute Struktur, um Benutzernamen zu speichern. Die Kindknoten von/users sollten die UID sein, und ein untergeordnetes Kind sollte ein Benutzername sein: "der Benutzername" als ein Schlüssel: Wert-Paar. Es wird wahrscheinlich andere Probleme verursachen, da der Benutzerknoten ein Kind des posts-Knotens ist. Können Sie Ihre Frage bitte mit Ihrer Firebase-Struktur aktualisieren? Das wird uns davon abhalten, neu zu tippen und wird auch die Frage und das Problem klären. – Jay