Swift 如何在tableviewer中显示下一个索引路径行和节项
我尝试从firestore文档中获取数据并显示在tableview单元格中,但有些人认为这只会显示第一行数据。请帮我检查下面的代码,看看哪个部分出错了。非常感谢Swift 如何在tableviewer中显示下一个索引路径行和节项,swift,uitableview,google-cloud-firestore,Swift,Uitableview,Google Cloud Firestore,我尝试从firestore文档中获取数据并显示在tableview单元格中,但有些人认为这只会显示第一行数据。请帮我检查下面的代码,看看哪个部分出错了。非常感谢 enter code here @IBOutlet weak var ResDateTxt: UITextField! @IBOutlet weak var ResTableView: UITableView! @IBOutlet weak var CheckResBtn: UIStackView! let userDefault =
enter code here
@IBOutlet weak var ResDateTxt: UITextField!
@IBOutlet weak var ResTableView: UITableView!
@IBOutlet weak var CheckResBtn: UIStackView!
let userDefault = UserDefaults.standard
let resDatePick = UIDatePicker()
var ReservationList = [Reservation]()
override func viewDidLoad() {
super.viewDidLoad()
hidKeyBoardWhenTappedAround()
createDatePicker()
ResTableView.register(UITableViewCell.self, forCellReuseIdentifier: "ResCell")
ResTableView.delegate = self
ResTableView.dataSource = self
// Do any additional setup after loading the view.
}
@IBAction func CheckResTapped(_ sender: Any) {
let ResCollectionRef = Firestore.firestore().collection("Reservations").whereField("resDate", isEqualTo: ResDateTxt.text!)
ResCollectionRef.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("Error fetching doc: \(err)")
} else {
self.ReservationList = snapshot!.documents.compactMap({Reservation(dictionary: $0.data())})
print(self.ReservationList)
DispatchQueue.main.async {
self.ResTableView.reloadData()
}
}
}
}
func createDatePicker() {
ResDateTxt.textAlignment = .center
//toolbar
let toolbar = UIToolbar()
toolbar.sizeToFit()
//bar button
let doneBtn = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePressed))
toolbar.setItems([doneBtn], animated: true)
//assign toolbar
ResDateTxt.inputAccessoryView = toolbar
//assign date picker to the text feild
ResDateTxt.inputView = resDatePick
resDatePick.datePickerMode = .date
resDatePick.minimumDate = Calendar.current.date(byAdding: .day, value: 0, to: Date())
resDatePick.maximumDate = Calendar.current.date(byAdding: .month, value: 1, to: Date())
}
@objc func donePressed() {
let formatter = DateFormatter()
formatter.dateStyle = .medium
formatter.timeStyle = .none
ResDateTxt.text = formatter.string(from: resDatePick.date)
self.view.endEditing(true)
}
}
扩展ResDetailViewController:UITableViewDelegate,UITableViewDataSource{
func numberOfSections(in tableView: UITableView) -> Int {
return ReservationList.count
}
func tableView(tableView:UITableView,numberofrowsinssection:Int)->Int{
返回1
}
}您已将功能
numberOfRowsInSection
和numberOfSections
调高。应该是:
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
以及:
您已将功能
numberofrowsinssection
和numberOfSections
切换到较高的级别。应该是:
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
以及:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// This is the function that says how many rows in the tableView
return ReservationList.count
}