Ios 是";“显示”;像导航控制器一样对待segues?

Ios 是";“显示”;像导航控制器一样对待segues?,ios,cocoa,swift,Ios,Cocoa,Swift,换句话说,如果我表演一个节目,我可以期待: 新视图将放在堆栈顶部 一旦新视图展开,新视图将被销毁 如果您放回到初始视图,那么除了初始视图之外,所有视图都将被销毁 “Show”segue是iOS 8中新增的,它只是调用UIViewController的showViewController:sender:的一种简写,如下所示: : 对于UINavigationController,请参见: 通过阅读文档,您可以看到,如果所讨论的视图控制器是导航控制器的子控制器,并且我们没有处于拆分视图控制器的情况

换句话说,如果我表演一个节目,我可以期待:

  • 新视图将放在堆栈顶部
  • 一旦新视图展开,新视图将被销毁
  • 如果您放回到初始视图,那么除了初始视图之外,所有视图都将被销毁
“Show”segue是iOS 8中新增的,它只是调用UIViewController的
showViewController:sender:
的一种简写,如下所示: :

对于UINavigationController,请参见:


通过阅读文档,您可以看到,如果所讨论的视图控制器是导航控制器的子控制器,并且我们没有处于拆分视图控制器的情况下,则此方法与在导航控制器上调用
pushViewController:animated:
相同。因此,在这种情况下,“show”segue与以前iOS版本的“push”segue相同。

这取决于您在UIViewController或UINavigationController@Arbitur如果两者都不是UINavigationController,那么被忽略的视图会发生什么情况?如果它没有被破坏,它会去哪里?如果你的控制器不在导航控制器中,那么“显示”是相同的模态演示。当您放回时,从您要放回的控制器到但不包括您要放回的控制器的所有控制器都将被释放。@rdelmar谢谢。假设我正在“显示”白色->蓝色->黑色。如果我正在从黑色放松到白色,蓝色怎么知道它正在被黑色的放松破坏呢?我希望Blue执行特定操作…例如删除通知的观察者。您可以在deinit方法中删除观察者。谢谢Matt。当视图调用根视图的“展开”时,视图是否会被破坏?如果没有,会发生什么情况?对于简单的导航控制器,而不是在分割视图的情况下,
展开
与调用
PopViewControllerInitiated:
或类似命令相同。因此,堆栈上超出我们弹出的视图控制器的任何视图控制器都将被释放。-然而,这确实是一个单独的问题。