5

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

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

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

该陈述的问题如下。

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

3 回答 3

10

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

于 2010-02-02T10:04:33.533 回答
1

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

于 2010-02-02T10:01:08.767 回答
0
UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

使用这种方法你不能释放按钮

而不是使用

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

然后释放

于 2010-12-07T10:06:10.783 回答