如何使用 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()
我想使用 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()