2016-06-02 3 views
-1

私はナビゲーションスタックに奇妙な問題があります。Swift - self.navigationControllerはゼロです

概要CViewController

  1. AViewController:私は2つのナビゲーションの可能性と3つのビューコントローラ(例えばAViewControllerBViewControllerCViewController)を持っています。
  2. CViewControllerからBViewControllerへのAViewControllerまたは

そしてAViewControllerUINavigationControllerに埋め込まれています。私はトランジションのためにセグを使用しています。すべてはストーリーボードで定義されています。すべてのセグはShow (e.g. Push)タイプです。すべての遷移はperformSegueWithIdentifier(String, AnyObject?)メソッドを使用して実行されます。

問題:最初の移行ですべて正常です。 すべては、AViewControllerに戻るために、CViewControllerのself.navigationController.popViewController(animated)が問題なく動作することを意味します。しかし、第2遷移ではself.navigationControllernilであり、ではnilではありませんが、CViewControllerになります。

どこが間違っていますか?

+2

コードを表示して、あなたのストーリーボードのスクリーンショットを表示してください。 – Scriptable

+0

ああ、時間を取るたびに、私はします。 –

+0

私は同じ問題を抱えていました。アプリでスライドビューコントローラを使用したときに、サンプルを共有すると、正確な問題を理解するのに役立ちます。 – swiftBoy

答えて

0

私はSegueを作成していたかわからないが、私はCViewControllerBViewControllerからSegueを再作成し、すべてがうまく働きました。

0

ストーリーボードを使用している場合、カスタムセグの代わりにnavigationcontrollerを使用することができます。したがって、ナビゲーションをプログラマチックに設定する必要はありません。 UINavigationControlerはナビゲーションを自動的に前後に設定します。

関連する問題