Метод -viewDidLoad
вызывается только при загрузке вашего представления. Этот метод больше не будет вызываться , пока представление не будет выгружено, и в этом случае будет вызываться -viewDidUnload
. Представление может быть выгружено, если есть проблема с памятью, но в остальном они обычно остаются.
Если вы хотите вызвать действие, которое происходит каждый раз, когда появляется представление, тогда вы можете использовать метод -viewWillAppear:
. Этот метод вызывается каждый раз, когда представление снова появляется. Вы можете отследить исчезновение вида с помощью -viewWillDisappear
и наблюдать, как эти два вызова вызываются при переключении между двумя вкладками.
Обратите также внимание, что -viewDidLoad
может быть вызвано до появления представления, но -viewWillAppear
будет вызываться только тогда, когда представление действительно появляется (или за несколько минут до того, как указывает will
).
РЕДАКТИРОВАТЬ: код должен читать
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"View Will Appear");
}
РЕДАКТИРОВАТЬ: Весь этот ответ предполагает, что у вас есть подкласс UIViewController
. Мне кажется, что вы обходите стороной использование viewControllers, что в целом является плохой идеей.