Имейте в виду, что у каждого класса, наследуемого от NSObject, есть свой dealloc
, и поэтому, когда счетчик ссылок объекта достигает 0, вызывается его освобождение, а это означает, что память, принадлежащая этому объекту, будет лучше освобождена.
Точно так же viewDidUnload
- это метод, который есть у каждого UIViewController, и он вызывается, когда основное представление, связанное с контроллером, больше не нужно, больше не видно, если вы хотите (вы можете думать о том, что оно вызывается, когда вы поп контроллер из стека навигации или переключение вкладки в контроллере вкладок). Для приложения и iPhone / iPod удобно не иметь объектов, принадлежащих виду вокруг, когда вид не отображается / активен / используется и т. Д.
Наконец, AppDelegate, как объект, имеет свой собственный метод dealloc, так что, возможно, из-за этого может возникнуть путаница.