使用Swift 3从Firebase中检索带有检索数据的TableView

时间:2017-08-11 00:27:24

标签: ios uitableview firebase swift3

我试图检索数据并将其设置为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

找到有关此内容的任何文档

1 个答案:

答案 0 :(得分:0)

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

这是模态对象的样子:

    class Person {
    var firstname: String
    var lastname: String

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

现在,您必须将从firebase获得的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
        }