【问题标题】:UIButton - should we release or not?UIButton - 我们应该释放还是不释放?
【发布时间】:2010-02-02 09:58:03
【问题描述】:

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

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

这里,我没有使用“alloc”函数。

该陈述的问题如下。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:
        UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];
        

        使用此方法无法释放按钮

        而不是使用

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

        然后释放

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-08
          • 1970-01-01
          • 1970-01-01
          • 2011-03-21
          • 2017-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多