2017-02-16 1 views
0

私はUITableViewCellを持っていて、アクションに接続されたアウトレットとボタンにラベルが接続されています。私はFirebaseをデータストレージに使用しています。ソーシャルメディアプロジェクトのいくつかのタイプ。しかし、新しい投稿/セルを追加すると、テーブルがリロードされますが、以前の投稿を2倍にすることで繰り返されます。このエラーはSwift 3でどうやって解決できますか?スウィフト3のソーシャルメディアプロジェクトに新しい投稿を追加するときのセルの繰り返し

+0

私は、アレイ&デバッグを印刷してみてください、あなたがテーブルをリロードするとき、あなたの**の記事内のデータが**配列が二回追加取得されると思います。 –

答えて

1

valueが表示されているため、変更するたびにすべての子データがFirebaseから取得されます。配列からすべてのオブジェクトを削除するか、completionHandlerの空の配列としてobserveの中に初期化します。

DataService.ds.REF_POSTS.observe(.value, with: { (snapshot) in 
    if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] { 

     self.posts = [] //Initialize as empty array 

     for snap in snapshot { 
      print("SNAP: \(snap)") 

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

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

       self.posts.insert(post, at: 0) 

       //data.insert("A", at: 0) 

      } 
     } 
    } 
    self.tableView.reloadData() 
}) 
+0

ありがとうございます:) @ Nirav D – Tamannah

+0

@タマン歓迎メイト:) –

関連する問題