This is a truly strange question. If you interpret a singleton to be "one and 
only one", then it doesnt make much sense to ask about subclassing it, because 
that would imply that you could instantiate one of the base type and one of the 
sub type, thus making it not fit the definition of a singleton. 

However, if we put philosophical discussions aside and simply ask for a maximum 
of one instance per class, then I'd probably do something like this: instead of 
using a single static variable to hold your singleton, use a mutable dictionary 
instead. The keys of the dictionary would be the name of the class, and the 
corresponding values would be e singleton objects. Override +allocWithZone: to 
either return the appropriate and existing object, or capture the call to super 
and save it in the dictionary before returning it. Of course, this would 
preclude any of the subclasses doing [self release] and returning a new object, 
but that's probably an adequate compromise.

Dave

Sent from my iPad

On Apr 16, 2011, at 10:20 PM, WT <jrca...@gmail.com> wrote:

> how would you implement a *true* singleton class that supports subclassing?
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to