UIButton - мы должны выпустить или нет? - PullRequest
5 голосов
/ 02 февраля 2010

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

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

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

Вопросы для этих утверждений следующие.

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

Ответы [ 3 ]

10 голосов
/ 02 февраля 2010

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

1 голос
/ 02 февраля 2010

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

0 голосов
/ 07 декабря 2010
UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect];

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

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

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

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

...