UIButton — выпускать или нет?

Я хочу динамически добавить кнопку в представление. Вот код.

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

Здесь я не использовал функцию «аллок».

Вопросы к этому утверждению следующие.

  • Если мы используем изображение для той же ситуации, мы должны создать временное изображение, добавить к вашему текущему представлению и освободить его. Что делать с кнопкой?
  • Как распределяются и освобождаются кнопки?
  • Если кнопки выделены? Как управляется его память?
  • Теперь, когда я использую [x release]; - это правильно или неправильно?

person Sagar R. Kothari    schedule 02.02.2010    source источник


Ответы (3)


Нет alloc/init или new, поэтому он будет автоматически выпущен, когда он больше не нужен. Когда вы добавляете его в UIView, счетчик увеличивается и сохраняется представлением, а затем также освобождается, когда представление освобождается.

person ACBurk    schedule 02.02.2010

В этом случае вам не нужно вызывать release. Поскольку вы используете удобный конструктор, возвращаемый объект является автоматически освобождаемым объектом.
Если вы используете форму alloc/init, вы несете ответственность за освобождение объекта.

person gerry3    schedule 02.02.2010

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

используя этот метод, вы не можете отпустить кнопку

вместо использования

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

а затем отпустите

person rajesh    schedule 07.12.2010