Я пытаюсь сохранить снимок firebase в переменную, чтобы позже я мог использовать его для перезаписи в firebase, но при получении данных мое приложение вылетает. Я понял, что код, который у меня есть, это просто получение каталога моментальных снимков, и со второй попытки я получаю нужные данные, но не могу присвоить их переменной.
Я пытался получить доступ к данным напрямую, используя:
let name = Database.database().reference().child("Users").child(userId!).child("Name")
Но это возвращает только каталог
Вот что я пытаюсь сделать:
@IBAction func checkInTapped(_ sender: Any) {
attendance.text = "Present"
guard !checkInClicked else {
UIAlertController.showAlert(message: "ERROR: You can only check in once for this Module!", vc: self)
return
}
let userId = Auth.auth().currentUser?.uid
let userEmail = Auth.auth().currentUser?.email
let moduleName = labelText
let name = Database.database().reference().child("Users").child(userId!).child("Name")
let currentDate = Date.getCurrentDate()
let currentTime = Date.getCurrentTime()
let presence = attendance.text
let ref = Database.database().reference().child("Attendance").child("Checkin").child(moduleName).child(currentDate).child(userId!)
let values = ["Email": userEmail!, "Check in Time": currentTime, "Attendance":presence] as [String : Any]
ref.setValue(values)
UIAlertController.showAlert(message: "You have checked in!", vc: self)
checkIn.isEnabled = false
checkOut.isEnabled = true
}
Я пытаюсь сохранить все пользовательские данные при нажатии кнопки в базе данных, но также пытаюсь извлечь «Имя» из базы данных, чтобы сохранить его в переменной и присвоить его «значениям». Я все еще новичок в Свифте, поэтому любая помощь будет очень признательна