However when I run the application and quit it, I never see the
text "dealloc" appear in the log window. Does this mean that this
method is never called?
Correct. There is no point individually freeing the memory for every
object at application quit time, because the OS will automatically
reclaim all the memory in one big chunk.
That's true, of course, but the counterpoint is that dealloc can be
used for more than just strictly freeing memory, and these
behaviors will be lost at shutdown time.
Yes -- it can be used for more than just freeing memory.
Don't do that.
Overloading the Cocoa reference counting mechanism to manage more
than memory leads to all kinds of hard to debug problems and
instabilities. And it simply doesn't work under a garbage collected
Objective-C, coming in Leopard.