Database.database (). Reference () - ноль - PullRequest
0 голосов
/ 23 сентября 2019

Я создаю приложение iMessage, которое должно подключаться к той же базе данных, что и мое обычное приложение.

Я вызываю FirebaseApp.configure () и аутентифицирую пользователя, но по какой-то причине после всей этой базы данных.database (). reference () имеет значение null, даже если предполагается, что оно не является нулевым значением.

var ref: DatabaseReference!

override func viewDidLoad() {
    super.viewDidLoad()

    if FirebaseApp.app() == nil {
        FirebaseApp.configure()
        Database.database().isPersistenceEnabled = true
        print("FIREAPP Configed")
        print(FirebaseApp.app())
        signIn() //Use kept google credentials to log in
        configureDatabase()
    }
}

func configureDatabase() {
    ref = Database.database().reference()
    print(ref)
}

Я ожидаю, что Database.database (). reference () будет корневой ссылкойбаза данных вместо нуля.Спасибо за любую помощь заранее!

1 Ответ

1 голос
/ 23 сентября 2019

Кажется, вы запутались в этой строке:

ref = Database.database().reference()

Это просто устанавливает ссылку на корень базы данных.Он еще не загружает данные.

Чтобы загрузить данные, прикрепите прослушиватель к ссылке:

ref.observeSingleEvent(of: .value, with: { (snapshot) in
    print(snapshot.value)
}) { (error) in
    print(error.localizedDescription)
}

Обратите внимание, что данные загружаются из Firebase асинхронно.Любой код, которому нужны данные, должен быть внутри обработчика завершения (как указано выше) или вызываться оттуда.

Также см. Документацию Firebase по чтению и записиданные .

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