使用来自另一个操作的现有展开转场

Use existing unwind segue from another action

我有两个按钮 - "Ok" 和 "Delete","Ok" 将 segue 展开到最后一个 ViewController。

我希望 "Delete" 按钮启动相同的展开转场,但要事先执行一些操作。 (就我而言,从 Firebase 中删除信息)。

如何将动作和展开转场结合起来?我尝试调用 PerformSegueWithIdentifier 函数,但没有成功。

通过 control 创建第二个 unwind segue - 从 Delete 按钮拖动到退出 图标。您甚至可以在目的地 viewController 中使用现有的 @IBAction。给这个 segue 一个标识符(select Document Outline 视图中的 segue 并在 Attributes Inspector 中设置标识符)例如 "deleteSegue" 然后在 prepare(for:sender) 中检查标识符并从 Firebase 中删除信息。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "deleteSegue" {
        // delete data from Firebase
    }
}

跟进评论中的问题:

I want to perform an action BEFORE unwinding the segue - I want a popup to ask the user if he really wants to delete the item. only after that I want the item deleted and segue unwinded.

不是从 Delete 按钮连接 unwind segue,而是从顶部的 viewController 图标连接它VC 到 退出 图标。仍然给它标识符,然后在你想执行 segue 时调用 performSegue(withIdentifier: "deleteSegue", sender: self)