функция выпуска в цели c - PullRequest
       0

функция выпуска в цели c

0 голосов
/ 16 августа 2010

В Objective-C все объекты могут быть освобождены из памяти с помощью функции выпуска?

Ответы [ 3 ]

4 голосов
/ 16 августа 2010

Не каждый объект должен быть освобожден. Вам следует пересмотреть рекомендации по управлению памятью , это всеобъемлющее руководство по управлению памятью.

Суть этого такова: если вы получили объект из метода со словом alloc, new или copy в его имени, то вам нужно release его. Вы также должны балансировать каждый retain с release или autorelease.

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

0 голосов
/ 16 августа 2010

Объекты не обязательно удаляются из памяти при вызове release. Кроме того, может потребоваться вызвать специальные функции для базовых базовых объектов (например, CGColorRef). Как правило, вы должны вызывать один релиз или авто-релиз для каждого вызова alloc, сохранения или копирования, который вы делаете для объекта.

Подробнее см. В руководстве по управлению памятью Apple .

0 голосов
/ 16 августа 2010

Да, вы должны освободить все объекты, если вы выделяете / сохраняете / копируете объекты ....

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