Я пытаюсь получить и изменить данные из 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()
.
Может пожалуйста, помогите мне. Я хочу разделить задачу через контроллеры, и если это не сработает, я не смогу это сделать.
Спасибо!