如何使用 Swift 将 Firestore 数据显示到移动应用程序中?

How to display Firestore data into mobile app using Swift?

我想使用 Swift TableView 将 Firestore 数据库中的数据显示到我的移动应用程序中,但是我受困于编码。

import UIKit
import Firebase
import FirebaseAuth
import FirebaseFirestore

class BookListViewController: UIViewController {
    
    var bookCollectionRef: CollectionReference!
    
    var books = [Books]()
    var id: String
    var bookAuthor: String
    var bookSummary: String
    var bookTitle: String
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        bookCollectionRef = Firestore.firestore().collection("bookData")
        bookCollectionRef.getDocuments { [weak self] (snapshot, error )   in
            if let err = error {
                debugPrint("Error fetching docs: \(err)")
            } else {
               guard let snap = snapshot else {return}
                for document in snap.documents {
                    let data = document.data()
                    _ = data[self?.bookAuthor ?? <#default value#>] as? String ?? "Anonymous"
                    _ = data[self?.bookSummary] as? String ?? ""
                    _ = data[self?.bookTitle] as? String ?? ""
                

我要显示的collection是bookData:

我想你忘了将获取的数据附加到你的书籍数组中,并且不要忘记重新加载 tableview。

试试这个代码:

else {                                  
    if let snapshot = snapshot {                                      
    for document in snapshot.documents {                                          
      let data = document.data()                     
      let author = data["bookAuthor"] as? String ?? ""                     
      let title = data["bookTitle"] as? String ?? ""                     
      let summary = data["bookSummary"] as? String ?? "" 
      let newBook = (bookAuthor:author,booktitle:title,bookSummary:summary)
      self.books.append(newBook)
}

self.tableview.reloadData()