Thanks Bryan. How do I go about knowing whether a method like show would do the retain? The reference doc doesn't say it. Also, what if it doesn't? Would a premature release dealloc an object that's still alive (such as a dialog), causing the system to crash when the memory is overwritten by another object later?
Is there a way in Cocoa to find out the reference count of an object (for debugging purposes)? - boon --- On Fri, 2/13/09, Bryan Henry <bryanhe...@mac.com> wrote: > From: Bryan Henry <bryanhe...@mac.com> > Subject: Re: alloc/release confusion > To: "Boon Chew" <waspf...@yahoo.com> > Cc: "cocoa-dev@lists.apple.com" <cocoa-dev@lists.apple.com> > Date: Friday, February 13, 2009, 4:02 PM > When you call -show, the UIAlertView is retained elsewhere > (somewhere in SpringBoard's internals). > > It does look a bit odd, and understandably so, but the > -release is correct there because you still want to > relinquish your ownership of the object...the ownership you > took when you sent the -alloc message. That release > doesn't actually deallocate the object because it was > retained by some part of -show's implementation. > > Bryan > > Sent from my iPhone > > On Feb 13, 2009, at 6:02 PM, Boon Chew > <waspf...@yahoo.com> wrote: > > > Hi all, > > > > I am very new to Cocoa programming (but have > programmed in C/C++ before) and there is one thing I > don't understand with alloc and release. Sometimes I > see code that alloc an object and release it within the same > method, even though it's clear that the object is still > live and well. > > > > For example: > > > > -(IBAction)onButtonPressed > > { > > UIAlertView *alert = [[UIAlertView alloc] > initWithTitle...]; > > [alert show]; > > [alert release]; > > } > > > > Why is the code decrementing the ref count even though > the alert window is still up? > > > > Also, how do you know when you are decrementing ref > count too soon? How do you know which object method you call > might increase the ref count of the object in question? > > > > Thanks! > > > > - boon > > > > > > > > > > > > > > > > _______________________________________________ > > > > 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/bryanhenry%40mac.com > > > > This email sent to bryanhe...@mac.com _______________________________________________ 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