Ios 聊天信使UITableViewCell,正在加载消息

Ios 聊天信使UITableViewCell,正在加载消息,ios,swift,firebase,Ios,Swift,Firebase,我正在尝试使用firebase将消息加载到我的messenger中,但是,它没有显示。我将我的单元格背景设置为浅灰色,我可以看到数据库中的消息数和浅灰色单元格的匹配情况 我使用的代码是 func loadMsg() { let toId = user!.id! let fromId = Auth.auth().currentUser!.uid let ref = Database.database().reference().child("privateMessages"

我正在尝试使用firebase将消息加载到我的messenger中,但是,它没有显示。我将我的单元格背景设置为浅灰色,我可以看到数据库中的消息数和浅灰色单元格的匹配情况

我使用的代码是

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:致命错误:在展开文件时意外发现nil 可选值

我的tableview单元格的代码是

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
    }
我走的方向对吗??对不起,我不知道在哪里张贴我的代码,因此将其张贴在回答部分

“开始/结束外观转换的不平衡调用”

在单元格显示完成之前尝试显示内容时发生崩溃

通过创建新的自定义单元格xib进行尝试,然后重试

像这样注册

self.tableView.register(UINib(nibName: "TableViewCell", bundle: nil), forCellReuseIdentifier: "TableViewCell")


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell:TableViewCell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell") as! TableViewCell

    let message = messages[indexPath.row]

    cell.configCell(message: message)
    cell.backgroundColor = UIColor.lightGray

    return cell
}

添加您的TableView代码。在我的TableView代码中添加了一件事,放置异常断点并测试应用程序崩溃的位置。此时,它正在第41行崩溃,sentView.isHidden=false,它写入了线程1:致命错误:在解包可选值时意外发现零。您检查sentView插座是否正确连接了吗?回答很好!救命恩人!