Я пытаюсь получить данные из firebase и поместить их в tableViewCell. Очень похоже на уведомления Просмотр контроллера в Instagram. Где ячейка содержит имя, изображение и описание уведомления. Я могу получить данные, распечатать их как снимок внутри моей консоли, но если я вызову userArray.count внутри numberOfRowsInSection, раздел вернется пустым. Напротив, если бы я возвращал число, такое как 2, внутри numberOfRowsInSection, я мог бы успешно увидеть обзор.
, чтобы показать с изображениями
изображение выше, когда
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 2
}
вызывается, но когда я звоню
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userArray.count
}
, я получаю
Код, который я использую для вызова этой информации:
class UserModal {
var userImage: String?
var name: String?
var review: String?
init(userImage: String, name: String, review: String) {
if let fromId = dictionary["fromId"] as? String {
self.fromId = fromId
}
if let categoryLabel = dictionary["jobName"] as? String {
self.category = categoryLabel
}
if let jobImage = dictionary["jobImage"] as? String {
self.jobImage = jobImage
}
}
}
var userArray = [UserRecentModal]()
func fetchRecentsNSetupViews() {
guard let currentID = Auth.auth().currentUser?.uid else { return }
REVIEW_JOB.child(currentID).observe(.childAdded) { (snapshot) in
guard let dictionary = snapshot.value as? Dictionary<String, AnyObject> else { return }
guard let fromId = dictionary["fromId"] as? String else { return }
guard let jobName = dictionary["jobName"] as? String else { return }
guard let jobImageUrl = dictionary["jobImage"] as? String else { return }
// self.imageView.loadImageUsingCacheWithUrlString(jobImageUrl)
//
// self.nameLabel.text = fromId
//
self.categoryLabel.text = jobName
Database.fetchUser(with: fromId, completion: { (user) in
if let postId = dictionary["fromId"] as? String {
Database.fetchPoster(with: postId, completion: {(poster) in
let array = UserModal(jobImage: jobImageUrl, fromId: fromId, category: jobName, dictionary: dictionary)
self.userArr.append(array)
})
}
})
}
}