Неустранимая ошибка - неожиданно обнаружен ноль при разворачивании необязательного значения

Я пытаюсь работать с приложением чата, используя swift, и когда я создаю и запускаю проект во время выполнения, когда я пытаюсь перейти в ChatVewController, он показывает эту ошибку неправильной инструкции EXC.

Консоль говорит

Неустранимая ошибка: неожиданно обнаружено значение nil при развертывании необязательного значения.

Вот мой код.

import UIKit
import Firebase

class SportsLogin: UIViewController {

// MARK: Properties
let ref: Firebase  = Firebase(url: BASE_URL2)


override func viewDidLoad() {
    super.viewDidLoad()
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    super.prepareForSegue(segue, sender: sender)

    let navVC2 = segue.destinationViewController as! UINavigationController
    let chatVC2 = navVC2.viewControllers.first as! SportsViewController

    chatVC2.senderId = ref.authData.uid // Assign the local user’s ID to chatVc.senderId; this is the local ID that JSQMessagesViewController uses to coordinate messages.
    chatVC2.senderDisplayName = "" // chatVc.senderDisplayName is set to empty string, since this is an anonymous chat room.
}



@IBAction func loginDidTouch(sender: AnyObject) {

    ref.authAnonymouslyWithCompletionBlock { (error, authData) -> Void in
        if error != nil {  // Check for an authentication error.
            print(error.description)
            return
        }
        // Inside of the closure, trigger the segue to move to ChatViewController.
        print(self.ref.authData)
        self.performSegueWithIdentifier("SportChat", sender: self)
    }

}

}

Строка с ошибкой

chatVC2.senderId = ref.authData.uid // Assign the local user’s ID to chatVc.senderId; this is the local ID that JSQMessagesViewController uses to coordinate messages.

Спасибо!


person Luc Mollard    schedule 26.04.2016    source источник
comment
Используйте точку останова в chatVC2.senderId = ref.authData.uid и попробуйте распечатать (chatVC2.senderId = ref.authData.uid). проверьте, правильно ли он печатает.   -  person user3815344    schedule 26.04.2016


Ответы (1)


Что такое SportsViewController? если SportViewController заботится самостоятельно, у вас должен быть член переменной sendId, член класса и тип NSString.

person RYANCOAL9999    schedule 26.04.2016
comment
Таким образом, SportsLogin - это мой экран входа в систему или кнопка для перехода к экрану чата, а SportsViewController - это экран чата. @ RYANCOAL9999 - person Luc Mollard; 26.04.2016