Listening to Mr. Randolph
Dave,
YOU should be listening to John Randolph. I wish there were a hundred John Randolphs out there to help people with Cocoa and Objective C.
There are reasons why private APIs are still private: they're NOT READY FOR PRIME TIME. Unless, of course, you want shitty, substandard APIs releases, then repaired, then required to be dragged along into the future for 5 or 10 years?
Do you know what Image Kit is? Does it look a little familiar? Guess what its history was.
Apple can release a fix to NSPreferences ALONG WITH a new relelase of Mail.app.
If you've never developed APIs for mass consumption, you can be the best engineer in the world and still not understand the caution that must be employed before releasing them.
if you really knew what you were doing with private APIs, employing them should also come with big orange traffic cones around them in your code.
You DO know about dynamic runtimes, right? If you do, you should know how to implement those "orange cones" around calls to undocumented APIs. How come you didn't mention that safeguard?
And why would you go digging in private APIs for this when all you need is an NSToolbar and an NSTabView? You could do far more of it in IB (always better if you can do things there) and avoid being broken in the future?
In my opinion, NO ONE new to Cocoa should be taking advice from this column. Using private APIs is dangerous, stupid and destined to make Mac software overall less stable and less "like a Mac".