On 26/02/2008, at 7:01 PM, Quincey Morris wrote:
I find it hard to see anything dangerous in the finalize strategy used in the above code, unless:(a) there's a possibility that the observer is being finalized around the same time, or(b) the finalize method tries to set one of the observee's own properties (thus triggering a notification to the observer, which could perhaps zombify the observee if the observer stored its pointer)
The observation info uses a weak reference and it will have been zeroed before finalize is called so neither of the above are a problem. Even so, I'm not sure it's a good idea to call removeObserver: from the finalize method.
Knowing this, you might wonder if you have to call removeObserver at all in the GC case. I just ran some tests and it looks like you do otherwise you'll get a memory leak which is a shame because it would be easy to clean up automatically.
On a side note, it doesn't look like you have to call removeObserver: for notifications registered with NSNotificationCenter.
- Chris
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Cocoa-dev mailing list ([email protected]) 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 [EMAIL PROTECTED]
