大家好,我正在使用 firebase 创建一个聊天应用程序。
当我到达屏幕创建一个 channel 时,它崩溃并说在展开可选值时发现为零。如果我返回应用程序, channel 已创建,因此我认为更改 View Controller 时发现为零,并且消息下的新 channel 的数据库中一定没有任何内容。下面是代码及其崩溃位置。
var channelRef: FIRDatabaseReference?
private lazy var messageRef: FIRDatabaseReference = self.channelRef!.child("messages")
然后它就在这里崩溃了...
private func observeMessages() {
messageRef = channelRef!.child("messages")
此函数在 View 加载时调用
最佳答案
您应该使用和 if let
代替强制解开包装,如下所示:
if let channelRef = channelRef {
messageRef = channelRef.child("messages")
} //maybe add an else and do some logic if value is not there
或者,如果您希望它始终存在并且属于这种类型,您可以声明 var channelRef: FIRDatabaseReference!
关于swift - 解包可选值时崩溃发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254150/