UIButton - 我们应该发布还是不发布?

时间:2010-02-02 09:58:04

标签: iphone objective-c interface-builder uibutton cocoa-design-patterns

我想动态地在视图上添加一个按钮。这是代码。

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

在这里,我没有使用“alloc”功能。

本声明的问题如下。

  • 如果我们在相同的情况下使用imageview,我们必须创建一个临时imageview添加到您当前的视图并释放它。该怎么做按钮?
  • 如何分配和取消分配按钮?
  • 如果分配了按钮?如何管理内存?
  • 现在我使用[x release]; - 是对还是错?

3 个答案:

答案 0 :(得分:10)

没有alloc / init或new,因此在不再需要时会自动释放。当您将其添加到UIView时,视图会增加并保留计数,然后在视图发布时也会释放。

答案 1 :(得分:1)

在这种情况下,您无需致电release。由于您使用的是便利构造函数,因此返回的对象是自动释放的对象 如果使用alloc / init表单,则负责释放对象。

答案 2 :(得分:0)

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

使用此方法你可以释放按钮而不是使用

UIButton *x = [[UIButton alloc]init];

然后发布