Отключение, когда iPhone снова включается из спящего режима, а приложение все еще открыто - PullRequest
0 голосов
/ 15 апреля 2011

В некоторых случаях происходит сбой моего приложения при включении из спящего режима, и приложение все еще открыто.Это происходит, если UITableViews открыт, когда iPhone переходит в режим сна;таблица заполняется из разбираемого XML.Я понимаю, почему это терпит крах;в моем методе viewDidUnload я освобождаю массив, заполняющий таблицу.Как справиться с этим, я не уверен;да, я просто не мог выпустить его в viewDidUnload, но тогда он никогда не оставит память, если вы вернетесь в главное меню.

Любая помощь будет оценена!

1 Ответ

1 голос
/ 15 апреля 2011

Метод viewDidUnload не подходит для публикации ваших данных, если вообще используется.Я цитирую документацию Apple, которая описывает ее лучше, чем я мог:

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

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

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