@IBAction:回到默认行为

@IBAction: Fall Back to Default Behavior

如何在执行动作时退回到默认行为?

例如,我想处理 table 行复制,同时保留默认的单元格编辑复制行为。或者处理 table 列的 doubleClick,并且仍然可以通过双击其他列中的单元格进入编辑模式。

@IBAction func copy(_ sender: Any)
{
    guard view.window?.firstResponder == myTable &&
        myTable.editedRow == -1 else
    {
        // TODO: Don't break default behavior
        return
    }

    // Copy selected rows
}

当您在代码中添加一个 @IBAction 时,它会出现在 First ResponderReceived Actions 下的 Interface Builder 中。

一个解决方案是将您想要处理的 Sent Action 连接到 Received Action 而不是直接到您的 @IBAction 代码中。这样其他控件就有机会处理该事件。