Все, что я пытаюсь сделать, это установить строку электронной почты пользователя в качестве ключа в моей базе данных.Кажется, моя проблема заключается в том, что метод updateChildValues аварийно завершает работу всякий раз, когда я устанавливаю словарь, используя ключ, который я назначил константе - в данном случае userEmail.Если я заменяю ключ на строковый литерал, он работает просто отлично, но я не собираюсь структурировать этот узел базы данных.
guard let uid = Auth.auth().currentUser?.uid, let email = Auth.auth().currentUser?.email else {
// handle
return
}
let groupId = UUID().uuidString
let userGroupIdValue = ["groupId": groupId]
let groupName = ["groupName": text]
let userEmail = [email: 1]
Database.database().reference().child("groups").child(groupId).child("memberEmails").updateChildValues(userEmail, withCompletionBlock: { (error, reference) in
// handle errors
})
Если я изменю словарь userEmail на ["someText": 1]это работает просто отлично, как и константы userGroupIdValue и groupName.Из-за моего устранения неполадок кажется, что этот метод не любит тот факт, что свойство электронной почты в Auth.auth (). CurrentUser?ранее был необязательным, хотя я использую защитное заявление.Я использовал if let, чтобы развернуть также, и он все еще вылетает.Может ли это быть своего рода ошибка?