2つの可能性があります。あなたはナビゲーションコントローラを(私は通常行う)していない場合は、右閉じ括弧の前に次の行を追加します。
self.present(vc, animated:true, completion:nil)
を使用すると、ナビゲーションコントローラの代わりにこれを追加している場合:
self.navigationController?.pushViewController(vc, animated: true)
編集を: (あなたのナビゲーションコントローラがあるかどうかをデバッグするために)
?に!実行したときに例外が発生すると、ナビゲーションコントローラはそこに存在しません。ナビゲーションコントローラを定義したコードを表示してください。あなたが実際にあなたがセグエが起こるようにしたいビューコントローラへの接続をドラッグし、UIBarButtomを右クリックし、ストーリーボードを通過する可能性があり
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let startupVC = SomeViewController()
self.window! = UIWindow(frame: UIScreen.main.bounds)
let mainNavConn = UINavigationController(rootViewController: startupVC)
self.window!.rootViewController = mainNavConn
self.window!.backgroundColor = UIColor(red: 1.0, green: 0.0, blue: 0.5, alpha: 1.0)
self.window!.makeKeyAndVisible()
return true
}
私はあなたが共有したナビゲーションコントローラ.addedを持っていますが、まだView Controllerを開いていません。 –
?に!実行したときに例外が発生すると、ナビゲーションコントローラはそこに存在しません。ナビゲーションコントローラを定義したコードを表示してください。私はAppDelegateで次のようにします: – Mozahler
どこにでもナビゲーションコントローラを定義していません –