2013-07-23 2 views
3

Я читаю книгу, где есть UITabBarController с двумя вкладками. Один Время tab и другое Гипноз tab. Время Вкладка показывает TimeViewController и Гипноз Вкладка показывает HypnosisViewController.Уничтожить представление во время имитации предупреждения памяти

Это реализация с TimeViewController:

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    NSLog(@"Unloading TimeViewController's subviews"); 
    timeLabel = nil; 
} 

Книга говорит, что если я моделировать предупреждение памяти, пока я на вкладки гипноза, я должен увидеть сообщение журнала я напечатанный выше. Однако этого не происходит. Кто-нибудь может понять, почему? Я использую симулятор iOS 6.1 и последние Xcode (хотя книга о iOS 5).

ответ

3

Это устарело в новых версиях, вы должны использовать;

didReceiveMemoryWarning 

От Apple:

В IOS 6, методы viewWillUnload и viewDidUnload из UIViewController теперь осуждается. Если вы использовали эти методы для выпуска данных, вместо этого используйте метод didReceiveMemoryWarning. Вы также можете использовать этот метод для публикации ссылок на представление контроллера представления, если он не используется. Вам нужно будет проверить, что представление не находится в окне, прежде чем делать это.

+0

Спасибо, что кажется ответом. Также одна вещь, в том же образце. Скажем, я на вкладке «Таймер», и я имитирую предупреждение о памяти. В книге говорится, что за это время взгляд на другой вклад (гипноз) должен быть уничтожен. Итак, когда я переключаюсь на вкладку Гипноз, я должен увидеть сообщение журнала, которое у меня было в viewDidLoad из HypnosysViewcontroller (поскольку представление будет воссоздано), но этого не происходит. Вы знаете, почему? –

+0

Не знаю, может быть, в разных версиях поведение отличается. –

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