Разработка iPhone - Выпуск авто-выпущенного объекта - PullRequest
1 голос
/ 31 июля 2009

Что произойдет, если я отпущу автоматически выпущенный объект?Это автоматически выпущенный UIButton, который я хочу выпустить, и единственный способ создать UIButton - это использовать метод удобства buttonWithType :.Будет ли он выпущен из памяти как обычный объект?Или я должен просто позволить автозапуску позаботиться об этом?Во-первых, я бы не выпустил его автоматически, если бы мог.

Спасибо !!

Ответы [ 2 ]

1 голос
/ 31 июля 2009

Вы должны просто позволить пулу авто-релиза позаботиться об этом. Как только вы добавите свою кнопку в родительское представление, это представление сохранит его, а дескриптор автоматического освобождения позаботится о пуле автоматического выпуска.

Самый простой способ думать об этом с точки зрения владения - вы не «владеете» ссылкой, полученной с помощью удобного метода, поэтому вам не нужно беспокоиться о ее выпуске, если вы не сохраните ее.

0 голосов
/ 31 июля 2009

Вы должны освободить только тот объект, которым владеете. + buttonWithType: не возвращает принадлежащий объект, поэтому вы не должны освобождать его.

Просмотрите Правила владения какао-объектами .

Почему вы пытаетесь избежать авто-выпущенного объекта здесь? Предположительно вы создаете кнопку, потому что вы используете кнопку и вставляете ее в иерархию представлений, поэтому нет никакой реальной причины ускорять слив пула автоматического выпуска, который содержит кнопку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...