swift在Fireview中显示Tableview中的数据

时间:2018-04-30 07:11:07

标签: ios swift firebase firebase-realtime-database

我试图从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
}
}

1 个答案:

答案 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表格视图中的部分数。