Cocoa Bindings

Sadly I think I am alone in the world in not understanding Cocoa Bindings. Panther, and Cocoa Bindings, came out in October of 2003, well over two years ago. And still I find myself pulling my hair out whenever I try to do anything but the simplest binding of user interface elements in the preferences to the NSUserDefaults system.

I look to the copious documentation for help but all I find are countless re-hashings of the same old Master-Detail interface, or the NSTableView managed using NSArrayController. It seems if you want to do anything else you’re out of luck.

It’s not that using Bindings is impossible. It’s just that it’s fiendishly, brain-fuckingly counter-intuitive. I can’t figure out what to do from looking at the Interface Builder interface, from reading the docs, from looking at the sample code, or from reading the mailing list. More than any other Cocoa technology, Bindings is the one that has most stubbornly resisted integration into my (evidently) feeble brain. If you dare to ask a question on the mailing lists you can most likely expect to be pounced on by an irritable mmalc.

To make matters worse, the enlightened crowds can’t stop cheering Apple for how wonderful their lives have become since Bindings came out, making my own misery only more painful. While they laugh and chat while sipping from piña coladas in island resorts I spend hours and days futilely poring over documentation, fruitlessly clicking annoyingly tiny widgets in Interface Builder, and in general wasting a hell of a lot of time trying to achieve stuff that I could have done much more easily The Old Fashioned Way. This includes for even the most mind-numbingly simple stuff that has you smacking your head against the wall saying this should be EASY, why the hell can’t I do it?

Everyone loves Cocoa Bindings. Me, I just don’t get them.