Вставить данные документа Firestore от текущего пользователя в представление коллекции - PullRequest
0 голосов
/ 09 июля 2020

То, что я пытаюсь сделать, - это получить данные Firestore для определенного c пользователя (книги пользователя) и поместить их в представление коллекции, как это изображение . В настоящее время я могу только распечатать данные do c на консоли, и вот где я застрял. Если вы можете помочь, это мой Firestore data и мой код. Я не вставил код представления коллекции, потому что в ячейке представления коллекции есть только представление изображения (изображение книги) . Заранее спасибо :)

func fetchUserBooks() {
        guard let uid = Auth.auth().currentUser?.uid else { return }
        Firestore.firestore().collection("books").document(uid).getDocument { (document, error) in
            if let document = document, document.exists {
                let dataDescription = document.data()
                print(dataDescription ?? "")
            } else {
                print("Document does not exist")
            }
        }
    }

1 Ответ

0 голосов
/ 09 июля 2020

Вы можете использовать этот модуль: CodableFirebase для декодирования документа из Firestore. Вам необходимо создать структуру / класс, который может хранить данные, поступающие из базы данных.

struct Book: Codable {
  var description: String?
  .....
}

После этого метод fetchUserBooks () может выглядеть так:

Firestore.firestore().collection("books")....
guard let model = try? FirestoreDecoder().decode(Book.self, from: document.data()) else { return }
 

Keep in помните, что вы работаете с кодом asyn c, вам необходимо использовать обработчики завершения.

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