我试图从firebase检索数据并存储它
进入数组并在tableView
中显示它,但在运行代码之后
tableView
没有显示任何内容,所以我错过了什么问题
某事,我的tableView
reloadData
不起作用,我的数组似乎在方法中有值,但在方法之外,数组是空的,我使用的是Swift 4。
import UIKit
import Firebase
import ProgressHUD
class HistoryTableViewController: UITableViewController {
var keys = ""
var arrayHistory : [String] = []
@IBOutlet var hist: UITableView!
func RET (){
print("!!!!!!!!!!!!!!!!!!!!!")
let messageDB = Database.database().reference().child("history")
messageDB.observe(.childAdded) { (snapshot) in
print("xxxxxxxxxxxxxxxxxxxxxxxxxxxx")
let h = snapshot.value as! String
self.arrayHistory.append(h)
print(h)
self.tableView.reloadData()
ProgressHUD.dismiss()
}
}
override func viewDidLoad() {
super.viewDidLoad()
ProgressHUD.show()
RET()
print(" basimmmmmmmmmmm")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return arrayHistory.count
}
override func tableView(_ tableView: UITableView, cellForRowAt
indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)
// Configure the cell...
print ("hlooooooooooooooooo")
cell.textLabel!.text = arrayHistory[indexPath.row]
return cell
}
}
答案 0 :(得分:0)
您有两个选项,删除此方法:
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}
或者您修改它以返回所需的部分编号:
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return yourCount // whatever section count you want
}
如果您只删除它,它将自动返回1表格视图中的部分数。