我已经从视图控制器A(任务视图控制器)到视图控制器B(添加任务视图控制器)创建了一个序列,该序列通过视图控制器A中的按钮(添加)触发。
我有一个问题:如果我想更详细地创建任务,请点击按钮以显示View Controller B,然后点击View Controller B上的Save完成!
但是当我想通过按钮添加旁的UITextField
中的文本快速创建任务时。然后点击“按钮”,创建任务时没有View Controller B。
这是我的故事板,带有连接检查器:connection
我尝试添加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**
}
有没有一种方法可以快速保存并防止混乱的发作?
答案 0 :(得分:1)
shouldPerformSegue(withIdentifier:sender:)
false
addTaskButtonWasPressed
中,还检查文本字段中是否有文本。如果是,请保存任务。