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

Reply via email to