Я немного новичок в быстром программировании, мой случай таков:
У меня есть база данных в режиме реального времени FireBase "см. Рисунок", я хочу получить данные firstName
и lastName
определенногоТолько идентификатор.
например: Когда я нахожусь на экране входа в систему и вошел в систему, используя этот адрес электронной почты: "ali_y_k@hotmail.com
",и при переходе к следующему экрану я хочу отобразить firstName
и lastName
этого email
в текстовых полях, показанных на рисунке
Я пробовал несколько решений, но проблема всегда заключалась в том, что я не могу ввести случайный идентификатор ребенка, чтобы получить firstName
и lastName
есть то, что я пробовал: Первый
func retriveInfo () {
let databaseRef = Database.database().reference().child("User_Informations")
databaseRef.observe(.childAdded) { (snapshot) in
let snapshotValue = snapshot.value as! Dictionary<String,String>
let firstName = snapshotValue["firstName"]!
let lastName = snapshotValue["lastName"]!
let email = snapshotValue["email"]!
print(firstName,lastName,email)
}
}
Это печать всех данных (firstName
, lastName
, email
) с каждого идентификатора
Секунда
func retriveInfo() {
let databaseRef = Database.database().reference().child("User_Informations")
databaseRef.observeSingleEvent(of: .value, with: { (snapshot) in
for snap in snapshot.children {
let userSnap = snap as! DataSnapshot
let uid = userSnap.key //the uid of each user
let userDict = userSnap.value as! [String:AnyObject] //child data
let firstName = userDict["firstName"] as! String
let lastName = userDict["lastName"] as! String
print("key = \(uid) First Name = \(firstName), Last Name = \(lastName)")
}
})
При этом будет напечатан каждый ключ "Id" и вся информация
СпасибоВы заранее:)