On Apr 17, 2011, at 3:11 AM, Dave DeLong wrote: > 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.
That's only because, unlike java, obj-c doesn't have a way built into the language to enforce a class to be abstract. I can see valid reasons to subclass a singleton if that singleton is to be used as an abstract class and never be instantiated by itself. > 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. That's an interesting suggestion and it's something I'll consider it. Thanks for offering that suggestion. WT _______________________________________________ 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