In case there's anyone else in the entire world who's a Cocoa developer but isn't yet using it,
grab a copy of <a href="http://www.obdev.at/products/completion-dictionary/index.html">Completion Dictionary</a> for Project Builder.
It provides user-definable macro-expansion, placeholder fields for range-preselection after expansion, and it falls back on PB's own
symbol completion in the event of not finding a matching macro. Nifty.
Thanks to GusMueller for pointing this out. Now I need never refer to the ArrayEnumerator code ever again!
<span class="footnote">Creating an objectEnumerator for an array is one of the things I can never remember
how to do in Cocoa. It's a pathological condition. I can type the most complex method-names, or code
up particularly nasty algorithms, with hardly a thought - but my brain just stalls when objectEnumerators are
mentioned.</span>
<span class="footnote">One other thing I always foul up is applicationShouldTerminateAfterLastWindowClosed; I always type
"When" instead of "After". Strange.</span>