Re: Right place to unobserve notifications in a document
Re: Right place to unobserve notifications in a document
- Subject: Re: Right place to unobserve notifications in a document
- From: Andy Lee <email@hidden>
- Date: Mon, 18 Aug 2008 12:18:10 -0400
On Aug 18, 2008, at 11:51 AM, Negm-Awad Amin wrote:
But anyway I do not think, that doing something else then memory
management in -dealloc is good design. Normally I unregister
observation in delegate methods like -applicationWillTerminate:.
I understand your concern -- you meant "functional overhead" in the
sense of a design taboo, not a performance cost -- but in this case I
think -dealloc is not only okay, but sometimes the only correct place
to unregister a notification. Suppose an invariant of your design is
that an object should receive notifications as long as, and only as
long as, the object exists. If you unregister too soon, you may have
an "alive" object that fails to get a notification. If unregister too
late, the notification center will send the notification to a dangling
pointer and your app will crash.
I think it's okay to unregister in -dealloc because conceptually it's
related to releasing your ivars. You're explicitly dissolving a
relationship between the object being dealloced and some other object
-- a relationship you have to manually manage in the absence of
garbage collection.
--Andy
_______________________________________________
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