Skip navigation.
 
mlRe: How to delay application quit?
FROM : James Hober
DATE : Tue Mar 25 23:19:17 2008

On Mar 25, 2008, at 9:44 AM, j o a r wrote:

> I wouldn't recommend doing that. I'd suggest using something like 
> this:
>
> - (void) dealloc
> {
>     NSAssert(FALSE, @"Singleton objects should never be released");
>     [super dealloc];
> }
>
> This communicates better what your intention is, and also catches 
> the unlikely case of this instance ever being deallocated when it 
> shouldn't, or if the class is being repurposed to a multi-instance 
> pattern.


I appreciate your suggestion.  It's generally good defensive 
programming to build in warnings to yourself when code that you do 
not expect to execute actually gets executed.

On the other hand, the documentation for dealloc says:

"Note that when an application terminates, objects may not be sent a 
dealloc message since the process’s memory is automatically cleared 
on exit—it is more efficient simply to allow the operating system to 
clean up resources than to invoke all the memory management methods."

Since it says "may," theoretically it could be considered an 
implementation detail that dealloc is not called during termination 
and Apple could change things in a future release.  Admittedly, this 
is not very likely and admittedly worrying about code that almost 
certainly will never execute is probably not the best use of time. 
And yet it is very common to have a number of singleton objects of 
this kind in Cocoa apps.  So nearly all of us are "solving" this one 
way or another.

James_______________________________________________

Cocoa-dev mailing list (<email_removed>)

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/<email_removed>

This email sent to <email_removed>

Related mailsAuthorDate
mlHow to delay application quit? Samvel Mar 24, 02:55
mlRe: How to delay application quit? Sherm Pendley Mar 24, 04:24
mlRe: How to delay application quit? Samvel Mar 24, 04:36
mlRe: How to delay application quit? Sherm Pendley Mar 24, 04:42
mlRe: How to delay application quit? Ken Thomases Mar 24, 21:12
mlRe: How to delay application quit? James Hober Mar 25, 17:26
mlRe: How to delay application quit? Steve Bird Mar 25, 17:34
mlRe: How to delay application quit? j o a r Mar 25, 17:44
mlRe: How to delay application quit? James Hober Mar 25, 23:19
mlRe: How to delay application quit? j o a r Mar 25, 23:26