Я пытаюсь получить табличное представление для отображения проанализированных данных, но массив, который должен заполнять мой табличный вид, не добавляется. Может ли кто-нибудь быстро взглянуть и сообщить мне, что я делаю неправильно?Swift Array не добавляется к
import UIKit
import SwiftKeychainWrapper
import Firebase
class FeedVC: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
var posts = [Post]()
override func viewDidLoad()
{
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
DataService.ds.REF_POSTS.observeEventType(.Value, withBlock: { snapshot in
if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot]
{
for snap in snapshot
{
if let postDict = snap.value as? Dictionary<String, AnyObject>
{
let key = snap.key
let post = Post(postID: key, postData: postDict)
self.posts.append(post)
}
}
}
})
tableView.reloadData()
}
override func viewDidAppear(animated: Bool) {
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return posts.count
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let post = posts[indexPath.row]
print("\(post.caption)")
return tableView.dequeueReusableCellWithIdentifier("PostCell") as! PostCell
}
@IBAction func signOutBtnTapped(sender: UIButton) {
KeychainWrapper.defaultKeychainWrapper().removeObjectForKey(KEY_UID)
try! FIRAuth.auth()?.signOut()
performSegueWithIdentifier("toSignInVC", sender: nil)
}
}
Спасибо, ребята.
Вы уверены, что ваш массив не заселен? Попробуйте распечатать его в своем закрытии. И если он печатает заполненное значение, добавьте также свою reloadData в закрытие, чтобы убедиться, что ваша перезагрузка tableView ПОСЛЕ закрытия заканчивается. – Akaino
DO 'tableView.reloadData()' after for loop завершает –
... но внутри обработчика завершения 'observEventType'. – Rob