viewController, методы отображения вызваны? - PullRequest
0 голосов
/ 15 января 2010

Я просто пытаюсь понять, как viewController работает в простом приложении для iPhone. Мой вопрос заключается в том, что я пытаюсь увидеть, когда будут вызваны указанные ниже функции, я поместил туда команды NSLog для печати на консоль, но я не вижу ни одной из перечисленных ниже функций печати при запуске или выходе из моего приложения, получают позвонил, я должен увидеть что-нибудь?

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
    NSLog(@"-1-");
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    NSLog(@"-2-");
    self.statusText = nil;
}

- (void)dealloc {
    NSLog(@"-3-");
    [statusText release];
    [super dealloc];
}

EDIT_001:

-1- didReceiveMemoryWarning (как отметил Кенни) работает через аппаратное обеспечение> Предупреждение о симуляции памяти

-2- Я понимаю, почему этот не работает сейчас, спасибо.

-3- dealloc, я закрываю работающее приложение, используя белый квадрат внизу, это делает полный выход, где я вижу NSLog из dealloc?

1012 * Гэри *

Ответы [ 2 ]

1 голос
/ 15 января 2010
- (void)didReceiveMemoryWarning

отправляется в контроллер представления, когда приложение получает предупреждение о памяти (у вашего приложения недостаточно памяти). Вы можете смоделировать это, выбрав Hardware-> Simulate Memory Warning в Simulator.

- (void)viewDidUnload

вызывается, когда представление контроллера освобождается из памяти. Он вызывается в условиях нехватки памяти, когда контроллеру представления необходимо освободить его представление.

- (void)dealloc

отправляется после освобождения объекта для освобождения занимаемой памяти.

Надеюсь, это поможет.

1 голос
/ 15 января 2010

чтобы ответить на ваш вопрос:

  • (void) didReceiveMemoryWarning не будет запускаться при запуске простого приложения. Вы можете проверить это, загрузив несколько сохраненных объектов (например, изображений).

  • (void) viewDidUnload: как указано в комментарии, он срабатывает только в том случае, если к основному виду прикреплено другое представление.

  • (void) dealloc: ну, здесь вы должны кое-что увидеть. не знаю почему Вы проверили консоль XCode?!

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