• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to delay application quit?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to delay application quit?


  • Subject: Re: How to delay application quit?
  • From: James Hober <email@hidden>
  • Date: Tue, 25 Mar 2008 15:19:17 -0700

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@hidden)

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:
This email sent to email@hidden


  • Follow-Ups:
    • Re: How to delay application quit?
      • From: j o a r <email@hidden>
References: 
 >Re: How to delay application quit? (From: James Hober <email@hidden>)
 >Re: How to delay application quit? (From: j o a r <email@hidden>)

  • Prev by Date: Re: NSArrayController, managedObjects and KVO
  • Next by Date: Re: How to delay application quit?
  • Previous by thread: Re: How to delay application quit?
  • Next by thread: Re: How to delay application quit?
  • Index(es):
    • Date
    • Thread