Должен ли я освободить переменные экземпляра и свойства в dealloc? - PullRequest
4 голосов
/ 02 марта 2012

В соответствии с документацией Apple по View Controller Lifecycle я заметил следующее относительно метода dealloc:

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

Меня всегда учили вызывать release для переменных экземпляра и свойств, которыми я владею, в методе dealloc моего контроллера представления.

Единственное исключение, о котором я знал, - это использование ARC, но оно не упоминает ARC в этой документации.

Это правильно?

Ответы [ 2 ]

9 голосов
/ 02 марта 2012

Поскольку руководство, которое вы опубликовали, было недавно обновлено, я уверен, что предполагается, что вы используете ARC (вы должны сделать это, в конце концов, если это возможно).

Вы правы, до ARC вам пришлось освобождать переменные вашего экземпляра в методе dealloc (вы можете видеть это в старых шаблонах XCode в dealloc в App-Delegate). С ARC это выполняется автоматически (как сказано в этом руководстве), поэтому, за исключением особых нужд, метод dealloc больше не используется.

2 голосов
/ 02 марта 2012

Как упоминает JiaYow, это руководство было обновлено до ARC. Здесь вы можете найти устаревшее руководство для контроллеров представления: https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerPGforiOSLegacy/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40011381-CH101-SW1

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