swiftを使用してチャットアプリケーションを作成しようとしていますが、実行中にプロジェクトをビルドして実行したときにChatVewControllerに移動しようとしましたエラー。致命的なエラー - オプションの値をアンラッピングしている間に予期せずnilが見つかりました
コンソールは
致命的なエラーを言う:オプションの値をアンラップしながら、予期せず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.
感謝です!
chatVC2.senderId = ref.authData.uidでブレークポイントを使用し、印刷を試みます(chatVC2.senderId = ref.authData.uid)。正しく印刷されているかどうかを確認してください。 – user3815344