をアンラップしながら、私は、特定の識別子を持つストーリーボードで数viewcontrollersを持っていると私は、このようにそれらにアクセスしようとすると:致命的なエラービューコントローラ値
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let mainViewController = sideMenuController!
let vcName = identities[indexPath.row]
let viewController: UIViewController! = storyboard?.instantiateViewController(withIdentifier: vcName)
let navigationController = mainViewController.rootViewController as! NavigationController
navigationController.pushViewController(viewController, animated: true)
mainViewController.hideLeftView(animated: true, completionHandler: nil)
}
アプリがクラッシュします。この行は、値がnilであることを検出しています。アンラッピング中にどのようにこれが無しであるか誰も説明できますか?
navigationController.pushViewController(viewController, animated: true)
いくつかの試みの後、私は致命的なエラーを取り除くことができました。ただし、テーブルビュー項目をタップしてもビューコントローラは表示されません。
あなたは、UIViewControllerを置く必要がないとは言いませんでした。ストーリーボードの終わりに? instantiateViewController(name)! – SeanLintern88
おそらく、 'storyboard?.instantiateViewController(withIdentifier:vcName)'は 'nil'を返します。 – shallowThought
@ SeanLintern88非オプションのタイプをアンラップすることはできません。 –