Невозможно получить информацию о документе в FireBase FireStore с помощью swift - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь получить и изменить данные из FireStore для приложения iOS.

Сейчас у меня есть signUpViewController, где я получаю данные от пользователя (eMail и pass) и пытаюсь зарегистрироваться супер в огненном облаке. Что я успешно делаю. Вот мой вопрос.

Я хочу создать отдельный «контроллер базы данных» для извлечения данных или рекламных данных в базу данных. Но я не могу этого сделать. Как будто он не получает ссылку из базы данных:

Код, который я создаю для пользователя:

 Auth.auth().createUser(withEmail: usereMail, password: userPassWord) { (AuthResult, error) in (rest of code here)

Что на самом деле создает пользователя и помещает его в база данных пользователей

И в том же viewController я использую следующий код для добавления userId в базу данных FireStore пользователей:

 let user = Auth.auth().currentUser
                    self.firebaseUID = user!.uid
                    let db = Firestore.firestore()
                    db.collection("users").document(self.firebaseUID).setData(["userID": self.firebaseUID]) { error in
                           if let error = error{
                               print ("Error writting in the document : \(error)")
                           }
                    }

                    self.performSegue(withIdentifier: "DataIntro", sender: nil)   

Когда я использую этот код в том же контроллере представления, где я зарегистрируйтесь это работает. Но если я выполняю переход, который переходит к другому viewController, и в этом контроллере я вызываю контроллер подключений с идентификатором пользователя для последующего чтения или записи данных, которые я ничего не получаю. Более того. Если я беру последний код и помещаю его в контроллер соединения, тогда код не работает, и запись в базе данных не создается. Это заставляет меня думать, что есть какая-то проблема получения доступа к базе данных, и я не могу легко получить доступ к базе данных FireStore с любого контроллера, используя только код

let db = Firestore.firestore()

.

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

Спасибо!

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