在展开可选值时崩溃发现nil

时间:2017-02-15 15:56:17

标签: swift xcode null unwrap

大家好我正在使用firebase创建聊天应用。

当我进入屏幕创建一个频道时,它会在解开可选值时崩溃说找到nil。如果我回到应用程序,通道已经创建,所以我认为它在更改viewcontrolers时发现nil,并且数据库中的消息下的新通道必须没有任何内容。下面是代码和崩溃的地方。

var channelRef: FIRDatabaseReference?

private lazy var messageRef: FIRDatabaseReference = self.channelRef!.child("messages")

然后它崩溃了......

private func observeMessages() {
    messageRef = channelRef!.child("messages")

在view did load

上调用此函数

1 个答案:

答案 0 :(得分:0)

不要强行拆开,而应使用和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!