2012-03-02 2 views
4

Согласно документации Apple, на View Controller Lifecycle я заметил следующее относительно метода dealloc:Должен ли я освобождать переменные экземпляра и свойства в dealloc?

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

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

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

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

ответ

9

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

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

+0

Мысль имеет много, но документация не была ясна. Я работаю с кодом, который был создан до появления ARC. – Camsoft

2

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

+0

Ницца спасибо. – Camsoft

Смежные вопросы