addTarget 添加额外事件

addTarget adding extra events

我想在单击按钮时添加另一个事件。我使用 addTarget 在单击时观察按钮并调用方法名称 showModal。请参阅下面的代码。

headerView.addTaskButton.addTarget(self, action: #selector(showModal), for: .touchUpInside)

我想在按下该按钮时添加另一个动作。但我不知道在哪里。

self.todoListViewModel.updateMode(.edit)

有什么方法可以用 addTarget 实现吗?比如添加闭包之类的东西?

所以我不想把它放在 showModal 方法中。到底有没有?

您不需要添加其他操作,只需将您的代码放在“showModal”函数中

func showModal(_ sender: UIButton) {
   
   self.todoListViewModel.updateMode(.edit)

   // your remaining code

}

您可以声明 2 个操作:

func commonAction(_ sender: UIButton) {
    // code for all buttons
}
func showModal(_ sender: UIButton) {

    self.todoListViewModel.updateMode(.edit)
    self.commonAction(sender)
}

另一种选择:设置按钮的标签以了解您是否必须执行该操作:

func commonActionOrModal(_ sender: UIButton) {
    If sender.tag == 1 {
        self.todoListViewModel.updateMode(.edit)
    }
    // code for all buttons
}