For most actions, I just click and drag in InterfaceBuilder to "wire up" a call from some interface object to my code. For example, if I want to know when the user single-clicks a row in a table, I drag a connection from the table's action to my controller's action.
But now let's consider the user double-clicking a row. If I want one of my actions to be called when this happens, I need to call not only -[NSTableView setDoubleAction]
but also -[NSControl setTarget]
. Why?
To be clear, I am not asking why Interface Builder doesn't support setDoubleAction
. All tools have limitations. I am trying to gain a greater understanding about how and why setTarget
doesn't seem to be necessary unless and until I want setDoubleAction
to work. Another way to ask this question would be: Why don't I need to do anything in Interface Builder to set the target of the table's (single-click) action?