Ich bin neu bei Firebase, und ich versuche eine App zu erstellen, wo es ein zufälliges Benutzerprofil zeigt, wenn Benutzer die App starten (ähnlich wie Tinder).Firebase iOS Swift: Wie wählt man ein zufälliges userProfile?
Nach ein paar Stunden Tests Zeug, fand ich eine Lösung, es funktioniert, aber wenn sich falsch anfühlt! Ich rufe einen Beobachter in einen anderen Beobachter, ist das gut? zwei Verbindungen? Ich weiß es nicht, aber es fühlt sich schlecht an! aber ich kann keine andere Lösung finden.
Ist mein Code gut oder schlecht? Wenn das nicht stimmt, kann mir jemand einen guten Rat geben, wie es geht?
My Firebase Datenbankstruktur:
"profiles": {
"1": {
"name": "John Doe",
"age": "36",
"location": "Los Angeles",
"gender": "male",
},
"2": { ... },
"3": { ... }
},
mein Swift IOS-Code Firebase
var profilesRef: DatabaseReference!
let profilesRef = Database.database().reference().child("profiles")
profilesRef.observe(.value, with: { (snapshot) in
let profilesCount = snapshot.childrenCount
let diceRoll : String = String(arc4random_uniform(UInt32(postsCount)))
profilesRef.child(diceRoll).observeSingleEvent(of: .value, with: { (snapshot) in
if let profileDict = snapshot.value {
let profile = Profile(profileData: profileDict as! Dictionary<String, AnyObject>)
print(profile.age)
}
})
})
Es funktioniert, aber es fühlt sich falsch an.
danke für deine Antwort, Nshweky ich verstehe nicht, wenn ich meine zweite Verbindung nicht mache, wie bekomme ich mein einzelnes Profil? Können Sie mir mit dem Code helfen pls ????? –
Beim ersten Aufruf der Datenbank hat der Snapshot alle Profile zurückgegeben. Wenn Sie den snapshot.value protokollieren, sollten Sie "1" erhalten: { "Name": "John Doe", "Alter": "36", "Standort": "Los Angeles", "Geschlecht": " männlich ", }, " 2 ": {...}, " 3 ": {...} usw. – Nshweky
Versuchen Sie, den snapshot.value (vom ersten Datenbankaufruf) zu protokollieren, wenn Sie dies nicht tun verstehen. – Nshweky