为什么UIBarButtonItem在segue之前不调用IBAction?

Ahm*_*mad 0 uiviewcontroller ios swift

我的问题非常类似于:Swift:使按钮触发segue到新场景

问题是:

我有一个视图控制器,有一个按钮,导致另一个视图控制器以模态方式出现.

Ctrl+Click从按钮到第二个视图控制器,并在IB中创建了segue.

然后我Ctrl+Click再次从按钮到视图控制器的源代码创建一个IBAction方法.

我假设按钮现在会做两件事:a)调用IBAction方法,b)执行segue.

由于某种原因,仅发生了什么.

当我删除segue,或从IB中删除对视图控制器的调用时,则调用IB​​Action,但Xcode告诉我现在无法访问第二个视图控制器.

我希望能够向用户呈现ActionSheet,然后能够根据用户从操作表中选择的内容执行Sese到第二个视图控制器.

我知道我可以以编程方式调用,performSegue但这需要创建segue并将其附加到IB中的物理按钮,这违背了不调用按钮可能已经具有的IBAction的目的.

knu*_*gro 5

如果我想在调用segue之前做一些额外的步骤,我通常会将一个IBAction附加到UIButton,并在代码中从此调用perform segue.您可以在故事板中添加segue并为其提供ID,而无需将其连接到按钮.您可以通过控制单击viewcontroller并拖动到storyboard中的下一个viewcontroller来执行此操作.