как значения объектов сохраняются, когда мы опустошаем пул в конце цикла выполнения - PullRequest
0 голосов
/ 23 марта 2012

Я знаю, это звучит как тупой вопрос, но мне нужно это задать.Хорошо, я прочитал, что пул autorelease очищается после одной итерации цикла выполнения после обработки событий.Мой вопрос заключается в том, что почему мои объекты приложений сохраняются после нажатия на кнопку.Таким образом, по определению Он должен уничтожить все объекты, которые я создал (возможно, я назначил некоторые значения объектам) после того, как я нажму на кнопку.Но этого не происходит?право ?Я могу нажимать на мою кнопку снова и снова, но я не теряю никаких данных об объекте.Поправь меня, если я где-то не прав.

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

Вы должны посмотреть видео или два из https://developer.apple.com/videos/ - Отличное введение в управление памятью и тому подобное. И я также настоятельно рекомендую вам изучить ARC, как только вы освоите основы retain / release / autorelease.

0 голосов
/ 23 марта 2012

Все, что делает пул автоматического выпуска, - это уменьшает количество сохраняемых объектов в пуле при его сливе. Если это приводит к тому, что количество сохранений становится равным нулю, объект будет уничтожен (dealloc'ed).

Однако, если объект был сохранен более одного раза, счет сохранения будет больше нуля, поэтому он не будет уничтожен (обратите внимание, что объекты создаются с счетом сохранения 1).

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