Nouveau Firebase récupérer les données et les mettre sur la tableView (Swift)

J'ai fait un simple média social avec de nouvelles Firebase, et j'ai réussi à sauver de la chaîne avec la base de données et de l'image avec le stockage, mais quand il s'agit de récupérer des données à la tableView choses inhabituelles se produisent!

toutes les images de récupérer de manière aléatoire de se montrer et de continuellement changer, mais l'autre partie montre parfaitement ou quand j'ai de retour sur les postes.le comte tableView montre pas de poste.

Espère que quelqu'un peut me fournir quelques suggestions

    import UIKit
import Firebase
import FirebaseStorage
class timelineTableViewController: UITableViewController {
var posts = [Post]()
var databaseRef: FIRDatabaseReference!
var storageRef: FIRStorageReference!
override func viewDidLoad() {
super.viewDidLoad()
databaseRef = FIRDatabase.database().reference()
storageRef = FIRStorage.storage().reference()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
//#warning Incomplete implementation, return the number of sections
    return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//#warning Incomplete implementation, return the number of rows
    return posts.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "postCell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)as! timelineTableViewCell
let userPostRef = self.databaseRef.child("posts")
userPostRef.observeEventType(.ChildAdded, withBlock: {(snapshot) in
if let postAdd  = snapshot.value as? NSDictionary{
let myPost = Post(data: postAdd)
self.posts.insert(myPost, atIndex:0)
cell.usernameLabel.text = self.posts[indexPath.row].username
cell.postText.text = self.posts[indexPath.row].postText
cell.timeLabel.text = self.posts[indexPath.row].time
let url = snapshot.value?["postPhoto"] as! String
let userPhotoUrl = snapshot.value?["userPhoto"] as! String
FIRStorage.storage().referenceForURL(url).dataWithMaxSize(10 * 1024 * 1024, completion: { (data, error) in
let postPhoto = UIImage(data: data!)
cell.postPhoto.image = postPhoto
FIRStorage.storage().referenceForURL(userPhotoUrl).dataWithMaxSize(10 * 1024 * 1024, completion: { (data, error) in
let userPhoto = UIImage(data: data!)
cell.userPhoto.image = userPhoto
})
})
}
})
return cell
}
}
vous souhaitez mettre à jour la question avec des structures ou tableviewcell ou quelque chose de supplémentaire à ce projet? et vous s'il vous plaît prendre des capture d'écran de la vue-contrôleur

OriginalL'auteur Johnny Hsieh | 2016-06-18