2016-12-12 223 views
1

我想创建一个展开顺序,带我回到两个viewControllers,我想我有一切设置正确,但它崩溃时没有错误打印,当我执行segue ...为什么我的unwind segue崩溃我的应用程序?

这是我'已经做到:

在目的地的viewController,我们把它叫做VC1(堆栈底部)我创造了这个动作:

@IBAction func unwind(segue:UIStoryboardSegue){} 

在界面生成器我迷上了VC3(第三视图控制器了)通过退出按钮发送到展开顺序,并将其命名为“展开”。

我要求赛格瑞像这样进行:

performSegue(withIdentifier: "unwind", sender: self) 

这里是视图控制器和原因请看标识符

http://imgur.com/a/gJPYQ

“删除跳闸”按钮调用SEGUE之后的所有其他逻辑已被照顾。

一旦被调用,我的应用程序崩溃,没有错误消息,并显示我的AppDelegate屏幕。这是怎么回事?

+0

这种崩溃主要是由错误的标识符造成的。你确定你使用正确的标识符吗? – Mohammadalijf

+0

你还在做关于prepareForSegue的任何事情吗? – Mohammadalijf

+0

标识符也在故事板中“展开”。不,在prepareForSegue中没有任何东西。 –

回答

-1

如果你推VC,你可以使用:

navigationController?.popToRootViewControllerAnimated(true) 
+0

我需要返回_two_ viewControllers。解散只能追溯到一个。 –

+0

对,我读得太快了。但是如果你推了VC,你可以使用navigationController?.popToRootViewControllerAnimated(true)。 –

+0

它们以模态方式呈现。虽然好想...... –

-1

如果你有两个VC的呈现模态,那么你将需要解雇2个VC的模态。使用: dismiss(..., completion: { dismiss(..., completion: nil)

您目前的“放松”segue只是简单地呈现原来的一个..也许你没有正确设置标识符,或者你忽视了你的视图层次结构。

+1

放卷不会“再次呈现原来的一个”。这将只是再次继续执行根控制器。 –

相关问题