2016-04-26 6 views
0

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. 

感謝です!

+0

chatVC2.senderId = ref.authData.uidでブレークポイントを使用し、印刷を試みます(chatVC2.senderId = ref.authData.uid)。正しく印刷されているかどうかを確認してください。 – user3815344

答えて

0

SportsViewControllerとは何ですか? SportViewControllerがあなた自身でdelcareをしている場合は、変数のメンバーにsendId、クラスメンバー、NSString型が必要です。

+0

基本的にSportsLoginは私のログイン画面で、チャット画面に行くボタンで、SportsViewControllerはチャット画面です。 @ RYANCOAL9999 –

+0

どうすればこの問題を解決できますか?コード内。 –

関連する問題

 関連する問題