更新 Firebase 代码后未显示 TableView 数据(Swift 2,Firebase 3.x)

TableView data not showing after updating Firebase code (Swift 2, Firebase 3.x)

一直在将我的项目更新到最新的 firebase 代码,现在 运行 遇到了问题。

昨天我的应用程序在我实施更新后运行良好,突然间我的 tableView 不再显示数据,甚至不在我的控制台中打印数据。

这是我的代码:

import UIKit
import Firebase
import MGSwipeTableCell


class FeedVCViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!
var posts = [Post]()
static var imageCache = NSCache()
var isPostHidden = false
var likeRef: FIRDatabaseReference!
var dislikeRef: FIRDatabaseReference!
var postRef: FIRDatabaseReference!
var postLiked = false
var postDisliked = false

private var _post: Post?

var post: Post? {
    return _post
}


override func viewDidLoad() {
    super.viewDidLoad()

    tableView.delegate = self
    tableView.dataSource = self

    let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 38, height: 38))
    imageView.contentMode = .ScaleAspectFit
    let image = UIImage(named: "unilogo2Whtie")
    imageView.image = image
    navigationItem.titleView = imageView

    DataService.ds.REF_POSTS.observeEventType(.Value, withBlock: { snapshot in

        print(snapshot.value)

        self.posts = []

        if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] {

            for snap in snapshots {

                print("SNAP: \(snap)")

                if let postDict = snap.value as? Dictionary<String, AnyObject> {

                    let key = snap.key
                    let post = Post(postKey: key, dictionary: postDict)
                    self.posts.append(post)
                }
            }

        }

        self.tableView.reloadData()

    })

    // Do any additional setup after loading the view.
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {


    return posts.count


}

我肯定是在我假设的更新中做错了什么,有人可以帮忙吗?

我很惊讶你没有在以下行中收到错误:

var likeRef: FIRDatabaseReference!
var dislikeRef: FIRDatabaseReference!
var postRef: FIRDatabaseReference!

对我来说,我必须在 import Firebase 下面添加以下行,以免在声明数据库引用时出现错误:

import FirebaseDatabase

然后在您的 viewDidLoad 方法中,您需要添加对数据库的引用

likeRef = FIRDatabase.database().reference()

但是,使用这个新版本的 Firebase,您不需要单独引用 likeRef、dislikeRef 和 postRef。您可以只创建一个主要参考,然后访问参考的子项以获取这些详细信息。