Я пытаюсь добавить в свой массив «Посты» из базы данных, но похоже, что основной поток пропускает мои инструкции и переходит прямо к numberOfRowsInSection и вылетает, потому что массив равен нулю!
Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании
Необязательное значение
Есть идеи, как заставить поток выполнить сначала мои команды добавления в массив?
Вот код:
var pods: [Pod]!
override func viewDidLoad() {
super.viewDidLoad()
loadPosts()
}
func loadPosts() {
Database.database().reference().child("Posts").observe(.childAdded) { (DataSnapshot) in
if let dict = DataSnapshot.value as? [String: Any] {
let title = dict["title"] as! String
let description = dict["description"] as! String
let imageURL = dict["image"] as! String
let pod = Pod(image: imageURL, title: title, description: description)
self.pods.append(pod)
self.tableView.reloadData()
}
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return pods.count
}