首页 > 解决方案 > 如何执行动作而不触发segue?

问题描述

我创建了一个从视图控制器 A(任务视图控制器)到视图控制器 B(添加任务视图控制器)的 segue,它是通过视图控制器 A 中的按钮(添加)触发的。

我有一个问题:如果我想更详细地创建任务,我将点击按钮以显示视图控制器 B,然后点击视图控制器 B 上的保存完成!

但是当我想通过UITextField按钮添加旁边的文本快速创建任务时。然后点击 Button 并在没有当前 View Controller B 的情况下创建任务。

这是我与连接检查器的故事板:连接

我尝试添加 if 语句(在注释代码中)但不工作

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    guard let identifier = segue.identifier else {return}

         switch identifier {
            case Segue.addTaskVC:

            //   if let taskTitle = inputTF.text, !taskTitle.isEmpty {
            //                // Create Task
            //                let task = Task(context: coreDataManager.managedObjectContext)
            //                
            //                // Configure Task
            //                task.updatedAt = Date()
            //                task.createdAt = Date()
            //                task.title = taskTitle
            //                
            //                updateView()
            //                return
            //            }

                guard let destionation = segue.destination as? AddTaskVC else {return}

                // Configure Context
                destionation.managedObjectContext = coreDataManager.managedObjectContext

            default:
                break
            }
        }        

这是我的动作与segue有关

@IBAction func addTaskButtonWasPressed(_ sender: Any) {
    print("add Task Button Was Pressed")
    // **Save quickly here**

}

有没有办法快速保存并防止触发segue?

标签: iosswiftsegue

解决方案



推荐阅读