Firebase - updateChildValues ​​завершает работу приложения при установке ключа в словаре с постоянной - PullRequest
0 голосов
/ 27 сентября 2018

Все, что я пытаюсь сделать, это установить строку электронной почты пользователя в качестве ключа в моей базе данных.Кажется, моя проблема заключается в том, что метод 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, чтобы развернуть также, и он все еще вылетает.Может ли это быть своего рода ошибка?

1 Ответ

0 голосов
/ 27 сентября 2018

Что ж, поддержка Firebase вернулась ко мне, и, похоже, проблема в том, что адрес электронной почты, который был развернут, содержал «.»в строке, и этот символ нельзя использовать в ключе в базе данных вместе с несколькими другими символами.Супер расстраивает но по крайней мере у меня есть ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...