1
我在我的數據庫中有一個名爲「Cars」的文件夾,文件夾內是汽車品牌列表,我想檢索所有品牌並將其放入UITableView中。然後,當你按下一個品牌時,它會顯示品牌的型號。目前我無法檢索汽車列表。這是我的數據庫和視圖控制器的代碼的屏幕截圖。如何檢索Firebase數據庫文件夾中的列表?
import UIKit
import Firebase
import FirebaseDatabase
import SDWebImage
struct carStruct {
let cars : String!
}
class CarMakeViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var cars = [carStruct]()
override func viewDidLoad() {
super.viewDidLoad()
let ref = Database.database().reference().child("Cars")
ref.observeSingleEvent(of: .value, with: { snapshot in
print(snapshot.childrenCount)
for rest in snapshot.children.allObjects as! [DataSnapshot] {
guard let value = rest.value as? Dictionary<String,Any> else { continue }
guard let make = value["Cars"] as? String else { continue }
let cars = carStruct(cars: make)
self.cars.append(cars)
}
self.cars = self.cars.reversed(); self.tableView.reloadData()
})
}
@IBOutlet weak var tableView: UITableView!
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return cars.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellMake")
let label1 = cell?.viewWithTag(21) as! UILabel
label1.text = cars[indexPath.row].cars
return cell!
}
}
當你說你目前無法獲得汽車列表時,當你試圖獲得它們時會發生什麼? –
什麼都沒有出現@JenPerson – Riccardo
這是UI在後臺線程上更新的問題嗎?嘗試像'DispatchQueue.main.async {self.tableView.reloadData()}'。 *免責聲明:沒有完全研究代碼,只是第一件事就跳到我身上。 –