簡體   English   中英

如何確認來自 Firestore 的數據附加在 swift 中?

[英]How to confirm the data from Firestore is appended in swift?

I am using the below code to append the data from Firestore in Swift IOS, but when I use "print" function to check whether the data is retrieved or not it doesn't print any actual data all it prints is the the below kind of詳細信息,我應該如何確認數據是否准確附加?

代碼

var messages: [DocumentSnapshot]! = []

 ref.addSnapshotListener { querySnapshot, error in
             guard let documents = querySnapshot?.documents else {
                 print("Error fetching documents: \(error!)")
                 return
             }

            for doc in documents {
              self.messages.append(doc)
              self.clientTable.insertRows(at: [IndexPath(row: self.messages.count-1, section: 0)], with: .automatic)
                //self.clientTable.reloadData()

            }

print(messages)

打印結果

Optional([<FIRQueryDocumentSnapshot: 0x60000123cbe0>, <FIRQueryDocumentSnapshot: 0x60000123ccd0>, <FIRQueryDocumentSnapshot: 0x60000123cd20>, <FIRQueryDocumentSnapshot: 0x60000123cd70>, <FIRQueryDocumentSnapshot: 0x60000123cdc0>, <FIRQueryDocumentSnapshot: 0x60000123ce10>, <FIRQueryDocumentSnapshot: 0x60000123ce60>, <FIRQueryDocumentSnapshot: 0x60000123cf00>, <FIRQueryDocumentSnapshot: 0x60000123cf50>, <FIRQueryDocumentSnapshot: 0x60000123cfa0>, <FIRQueryDocumentSnapshot: 0x60000123cff0>, <FIRQueryDocumentSnapshot: 0x60000123ceb0>, <FIRQueryDocumentSnapshot: 0x60000123d040>, <FIRQueryDocumentSnapshot: 0x60000123d090>, <FIRQueryDocumentSnapshot: 0x60000123d0e0>, <FIRQueryDocumentSnapshot: 0x60000123d130>, <FIRQueryDocumentSnapshot: 0x60000123d180>, <FIRQueryDocumentSnapshot: 0x60000123d1d0>, <FIRQueryDocumentSnapshot: 0x60000123d220>, <FIRQueryDocumentSnapshot: 0x60000123d270>, <FIRQueryDocumentSnapshot: 0x60000123d2c0>, <FIRQueryDocumentSnapshot: 0x60000123d310>, <FIRQueryDocumentSnapshot: 0x60000123d360>, <FIRQueryDocumentSnapshot: 0x60000123d3b0>, <FIRQueryDocumentSnapshot: 0x60000123d400>, <FIRQueryDocumentSnapshot: 0x60000123d450>, <FIRQueryDocumentSnapshot: 0x60000123d4a0>])

正如您在 output 中看到的那樣, documentsFIRQueryDocumentSnapshot對象,其中包含數據和有關結果的一些元數據。

要從快照中獲取數據,請調用其FIRQueryDocumentSnapshot.data方法

var messages: [DocumentSnapshot]! = []

ref.addSnapshotListener { querySnapshot, error in

     guard let documents = querySnapshot?.documents else {
         print("Error fetching documents: \(error!)")
         return
     }

    for doc in documents {
      self.messages.append(doc.data())
    }

    print(messages)
}

請注意,這在 Firebase 文檔中關於從集合中讀取所有文檔中也得到了很好的描述,因此我建議花一些時間來研究它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM