使用Swift 3从Firebase检索到的数据填充TableView

问题描述:

我试图检索数据并将其设置为tableview;我没有在这方面取得成功。使用Swift 3从Firebase检索到的数据填充TableView

我想从firebase中获取图像和文本到tableView中;

import UIKit 
import Firebase 

class HomePageViewController: UIViewController, UITableViewDelegate { 

    @IBOutlet weak var homePageTableView: UITableView! 

    var ref: DatabaseReference! 
    var imageFiles = [Data]() 
    var price = [String]() 
    var refHandle:UInt! 






    override func viewDidLoad() { 
     super.viewDidLoad() 

     ref = Database.database().reference() 



     fetchUsers() 

func fetchUsers() { 

     refHandle = ref.child("Users").observe(.childAdded, with: { (<#DataSnapshot#>) in 
      if let retrivedData = DataSnapshot.value(String : AnyObject) { 
       ??? 
      } 
     }) 

我知道这是未完成的,但我不知道如何从这一点继续。我如何设置它到表?以及如何正确检索数据。 使用最新的更新版本的Firebase SDK和swift 3.0无法找到任何有关此文档的信息

最佳实践是将检索到的数据提供给模型对象并提供给表视图。

这是对象如何模态的样子:

class Person { 
    var firstname: String 
    var lastname: String 

    init(firstname: String, lastname: String) { 
     self.firstname = firstname 
     self.lastname = lastname 
    } 
} 

现在你必须从你得到了火力的JSON数据提供给该模型对象。一旦你的模型对象准备好了,你必须加载tableview。 Tableview有data source方法。使用它们来显示如何在tableview中填充数据。

func numberOfSections(in tableView: UITableView) -> Int { 
      return 1 
     } 
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
      return modelObjectsArray.count 
     } 

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
      let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell")! 
      let modelObject = self.modelObjectsArray[indexPath.row] as! Person 
      cell.textLabel?.text = modelObject.firstname 
      return cell 
     } 
+0

那么这将如何用于我的情况呢?通过检索Firebase数据并将其设置为tableView ... Firebase方式.. – StrawHat

+0

您已经retrivedData。现在创建一个模型对象类并为其分配数据。分配它后重新加载tableview –

+0

看看这个:https://www.codementor.io/brettr/two-basic-ways-to-populate-your-uitableview-du107rsyx –