2016-05-20 6 views
0

プロジェクトを最新のfirebaseコードに更新しています。更新後にテーブルビューのデータが表示されないFirebaseコード(Swift 2、Firebase 3.x)

昨日私のアプリはうまくいきました。私が実装したアップデートで、突然私の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 


} 

誰でも助けることができる私は、私が仮定しているアップデートで何か間違ったことをしている必要がありますか?

答えて

0

私はあなたが次の行でエラーを取得していない驚いている:私にとって

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

、私は宣言する際にエラーを取得しないようにするために、インポートFirebase下の次の行を追加する必要がありましたデータベース参照:

import FirebaseDatabase 

は、その後、あなたのviewDidLoadメソッドでは、あなたのデータベースへの参照を追加する必要があります

likeRef = FIRDatabase.database().reference() 

しかし、この新しいバージョンのFirebaseでは、likeRef、dislikeRefおよびpostRefのための別個の参照は必要ありません。メイン参照を1つだけ作成して、その詳細の参照の子にアクセスできます。

関連する問題