Though how Xcode handles it is quite handy. In the App Delegate .m file you make a function: - (IBAction)clickedButton
Put code in it, open Interface Builder and connect that method to the button.
Many tutorials online, great many.
That's handy? What is this, 1991? Wait, never mind - they had Visual Basic in 1991.
The history of Visual Basic is interesting. It didn't even compile programs until v5.0. I assume before that, some kind of byte code system was used.
I've always thought about writing a competitor to RB, but for Macs only and using a byte code system (the closest thing might be Visual Mac Standard Basic from the late 90s, Al would know about it). I could not write the runtime in RB though because it would be too fat. The IDE could be written in RB (it would be a lot faster to write it in RB), and the runtime could be written in Obj-C, assuming there is some way to programmatically create windows with buttons, etc. and not use any nib files at all (you can do this in RB by creating a window that has one each of a button, text field, etc. that are hidden, then duplicating these controls as needed, moving to the correct positions etc.) The runtime could be targeted to, say, 10.5+, Universal, and therefore could take advantage of the garbage collection etc.
Just theories.