I've seen suggestions saying to set
It's a memory debugging aid. Specifically, when you set
NSZombieEnabled then whenever an object reaches retain count 0, rather than begin deallocated it morphs itself into an
NSZombie instance. Whenever such a zombie receives a message, it logs a warning rather than crashing or behaving in an unpredictable way. As such, you can debug subtle over-release/autorelease problems without advanced tools or painstaking needle in haystack searches.
You can read more over at Cocoa Dev. The name is a fairly obvious play on the fact that objects are normally considered "dead" when they reach retain count 0. With this setting, they continue to exist in a strange half-life - neither living, nor quite dead. Much like real zombies, except they eat rather fewer brains.