views:

380

answers:

2

Ok. Let me explain the situation.

I want to add a button on a view dynamically. Here is the code.

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

Here, I have not used "alloc" function.

The questions for this statements are as follow.

  • If we are using imageview for the same situation, we have to create an temp imageview add to your current view & release it. What to do for button?
  • How button's are allocated & de - allocated?
  • If buttons are allocated? How it's memory is been managed?
  • Now when I use [x release]; - is it right or wrong?

Thanks in advance for sharing your great knowledge.

Sagar.

+1  A: 

You do not need to call release in this case. Since you are using a convenience constructor, the object that is returned is an autoreleased object.
If you use an alloc / init form, you are responsible for releasing the object.

gerry3
+2  A: 

No alloc/init or new so it will be autoreleased when it is no longer needed. When you add it to the UIView the count is increase and retained by the view, then also released when the view is released.

ACBurk