2016-10-04 17 views
2
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    let newuser = users[indexPath.row] 
    let usernname = newuser.name! as String 
    print(usernname) 
    print(keys[indexPath.row]) 
    let destinationViewController = ChatViewController() 
    destinationViewController.toUid = keys[indexPath.row] 
    destinationViewController.topBar.title = usernname 
    performSegue(withIdentifier: "toChatView", sender: self) 
} 

keys [indexPath.row]は正しく動作していますが、ユーザ名にはエラーがあります。それはSegueオプション値なし

fatal error: unexpectedly found nil while unwrapping an Optional value 

を言うしかし、私は私のusername変数を印刷するとき、それはあなたがそれをやっているとあなたはあなたのChatViewControllertitleUsernameに新しい変数を宣言し、そのようにtopBarにタイトルを設定しないでくださいOK

+0

であるかどうかを確認する必要がありますか? –

+0

let usernname = newuser.nameの場合は使用してみてください!文字列として{コンディションの場合のコード} –

+0

@ Mr.UBまあ、それは私のコード –

答えて

0

を印刷しますusernameをそれに渡し、ChatViewControllerself.title = titleUsernameに設定してタイトルを設定します。

+0

の正しいですが、 'destinati ...'コードは役に立たないのですか? –

+1

@ Mr.UB、そのコードは 'func prepare(segue:UIStoryboardSegue ...'コード –

+0

)に設定する必要がありますありがとう、私のエラーの答えを提供しましたが、topBarのタイトルはまだ変わりません –

0

ユーザー名があなたのセグエ方法を実行した場合はnilか

let usernname = newuser.name! as String 

let destinationViewController = ChatViewController() 
destinationViewController.toUid = keys[indexPath.row] 

if username != nil { // check if this is nil or not 
print(usernname) 
print(keys[indexPath.row]) 
destinationViewController.topBar.title = usernname 
performSegue(withIdentifier: "toChatView", sender: self) 
} 
関連する問題