I am a little confused by this snippet of code (presented in the CocoaFundamentals guide) that overrides some of the methods when creating a singleton instance.
There is a good example of different singleton methods with comments here on SO: What does your Objective-C singleton look like?
If it helps, the example has a different approach to allocWithZone: which returns nil.