Если вы говорите только об iOS 3.0, выпустите в viewDidUnload
любые объекты, которые вы можете легко воссоздать. Затем вы можете восстановить или перезагрузить их из пера в viewDidLoad
. Убедитесь, что когда вы отпускаете объекты, вы либо обнуляете их, либо ваш установщик делает это. Таким образом, вы можете использовать viewDidLoad
для проверки на ноль или нет перед перезагрузкой или повторным созданием.
Что касается загрузки из объектов перьев, если вы загружаете в свои свойства и хотите, чтобы они были сохранены, вам не нужно снова их сохранять.
С Apple :
Класс UIViewController обеспечивает некоторую автоматическую обработку условий нехватки памяти с помощью метода didReceiveMemoryWarning (стр. 20), который освобождает ненужную память.
До iPhone OS 3.0 этот метод был единственным способом высвободить дополнительную память, связанную с вашим классом контроллера представления, но в iPhone OS 3.0 и более поздних версиях метод viewDidUnload (стр. 30) может быть более подходящим местом для большинства нужд. , Когда появляется предупреждение о нехватке памяти, класс UIViewController очищает свои представления, если он знает, что может перезагрузить или воссоздать их позже. Если это происходит, он также вызывает метод viewDidUnload, чтобы дать вашему коду возможность отказаться от владения любыми объектами, связанными с вашей иерархией представления, включая объекты, загруженные с помощью файла nib, объекты, созданные в вашем методе viewDidLoad (стр. 29), и объекты создаются лениво во время выполнения и добавляются в иерархию представлений. Как правило, если ваш контроллер представления содержит выходы (свойства или необработанные переменные, содержащие ключевое слово IBOutlet), вы должны использовать метод viewDidUnload, чтобы отказаться от владения этими выходами или любыми другими данными, относящимися к представлению, которые вам больше не нужны.