Я пытаюсь загрузить сообщения в свой мессенджер, используя firebase, однако он не отображается. Я установил фон для своих ячеек на светло-серый, и я вижу, что он работает, если количество сообщений в базе данных и ячеек в светло-сером совпадают.
код, который я использовал:
func loadMsg() {
let toId = user!.id!
let fromId = Auth.auth().currentUser!.uid
let ref = Database.database().reference().child("privateMessages").child(fromId).child(toId)
ref.observe(.value) { (snapshot) in
if let snapshot = snapshot.children.allObjects as? [DataSnapshot] {
self.messages.removeAll()
for data in snapshot {
let newMsg = Message(dictionary: data.value as! [String: AnyObject])
self.messages.append(newMsg)
}
}
DispatchQueue.main.async {self.tableView.reloadData()}
}
}
моя база данных firebase выглядит так:

и мой симулятор выглядит как

с моей раскадровки:

любая причина, по которой мой текст не отображается ???
* ОБНОВЛЕНО НИЖЕ
Я пытался настроить свои ячейки, и теперь кажется, что он движется в правильном направлении, но у меня происходит сбой на моем sentView, где он падает из-за
Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании
Необязательное значение
мой код для ячейки табличного представления
import UIKit
import Firebase
import FirebaseDatabase
class ChatMessageCell: UITableViewCell {
var message: Message!
@IBOutlet weak var receivedMsgLabel: UILabel!
@IBOutlet weak var sentMsgLabel: UILabel!
@IBOutlet weak var sentView: UIView!
@IBOutlet weak var receivedView: UIView!
var currentUser = Auth.auth().currentUser!.uid
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
func configCell(message: Message) {
self.message = message
if message.fromId == currentUser {
sentView.isHidden = false
sentMsgLabel.text = message.textMessages
receivedMsgLabel.text = ""
receivedMsgLabel.isHidden = true
} else {
sentView.isHidden = true
sentMsgLabel.text = ""
receivedMsgLabel.text = message.textMessages
receivedMsgLabel.isHidden = false
}
}
}
as for my table is
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: ChatMessageCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ChatMessageCell
let message = messages[indexPath.row]
cell.configCell(message: message)
cell.backgroundColor = UIColor.lightGray
return cell
}
я иду в правильном направлении ?? извините, не знаю, где разместить мои коды, поэтому размещаю их в разделе ответов.