Поместите имя пользователя как элемент NavBar - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь разрешить отображать имя пользователя на панели навигации с помощью firebase. Прошлой ночью мой код работал отлично. сегодня утром, когда я пытался возобновить кодирование, мое приложение внезапно зависало, и я, честно говоря, не знаю почему. Может кто-нибудь помочь объяснить мне, что я делаю не так?

Мой код выглядит следующим образом.

   let uid = Auth.auth().currentUser?.uid
            Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
                if let dictionary = snapshot.value as? [String: AnyObject] {
                    self.navigationItem.title = dictionary["name"] as? String
                }
            }, withCancel: nil)

Сообщение об ошибке находится в базе данных Database.database (). Reference (). Child ("users"). Child (uid!). НаблюдайтеSingleEvent (of: .value, с: {(снимок) в если пусть dictionary = snapshot.value как? [String: AnyObject] {

// сообщение об ошибке: Поток 1: неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения

снова прошлой ночью, код работал отлично. когда я создавал пользователя и входил в систему, его имя появлялось на панели навигации. Теперь, внезапно, он падает.

1 Ответ

0 голосов
/ 30 июня 2018

Если ваше приложение использует логин и выход из системы, попробуйте закомментировать строки, в которых есть ошибки, собрать и запустить, чтобы иметь возможность выйти из приложения, а затем перестроить приложение с использованием исходного кода, логин и все должно быть в порядке

Если вы не используете страницу входа, попробуйте очистить свой проект (cmd shift k)

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