Swift-从视图控制器展开之前运行IBAction

时间:2019-02-03 10:06:08

标签: swift uiviewcontroller ibaction

因此,我在视图控制器上有一个“保存”按钮,我们将其称为VC2。单击后,它会退回到原始视图控制器,我们将其称为VC1

但是,我想对VC2上的数据运行一些逻辑,然后再将其传递回VC1。我尝试从退出IBAction的“保存”按钮映射VC2并在VC1上运行展开代码。但是我注意到它没有运行映射到按钮的IBAction。我猜这是因为它链接到退出。

所以我的问题是:如果我有一个退出视图控制器的按钮,是否还可以将其链接到IBAction以便我可以在视图控制器上运行一些逻辑被退出(VC2之前存在吗?

1 个答案:

答案 0 :(得分:0)

如果您的按钮已链接到情节提要上的Segue,则其IBAction s似乎无法运行。我不知道这是否在任何地方都有记录,但这似乎是行为。

不是将按钮链接到VC1的“退出”,而是将您的VC2链接到“ Exit”,然后给该展开标记一个标识符,例如unwindToVC1

现在,您可以将IBAction添加到按钮中,然后输入:

@IBAction func buttonPress() {
    // process your data or whatever

    // perform the unwind segue
    performSegue(withIdentifier: "unwindToVC1", sender: yourData)
}