Swift - self.navigationController是零

时间:2016-06-02 09:49:16

标签: swift uinavigationcontroller segue

导航堆栈有一个奇怪的问题。

概述 :我有三个视图控制器(例如AViewControllerBViewControllerCViewController),有两种导航可能性:< / p>

  1. AViewControllerCViewController
  2. AViewControllerBViewControllerCViewController
  3. AViewController嵌入UINavigationController。我正在使用segues进行转换,所有都在storyboard中定义。并且所有segue都是Show (e.g. Push)类型。并且所有转换都使用performSegueWithIdentifier(String, AnyObject?)方法执行。

    问题 :通过第一次转换,一切正常。 Everything 意味着CViewController中的self.navigationController.popViewController(animated)工作正常,返回AViewController。但是在第二次转换时,self.navigationController中的nilCViewController,但nil中不是BViewController

    那么我哪里出错?

2 个答案:

答案 0 :(得分:0)

如果您使用的是故事板,则可能需要使用navigationcontroller而不是自定义segue。因此,您无需以编程方式设置导航。 UINavigationControler自动将导航设置为后退或前进。

答案 1 :(得分:0)

我不知道我是如何创建Segue的,但我从BViewControllerCViewController重新创建了else if ($(element).is('input[type="checkbox"]') || $(element).is('input[type="check"]')) { error.insertAfter($(element)); } ,一切正常。