presentModalViewController viewDidLoad не вызывается - PullRequest
0 голосов
/ 22 декабря 2009

У меня есть событие, которое вызывает представление, но событие - viewdidload не появляется, как ожидалось, при каждом вызове. Вот метод, который я использую для его вызова ...

[self presentModalViewController:addItemViewController animated:YES];

затем внутри addItemViewController, метод

- (void)viewDidLoad {
    NSLog(@"alright, lad!");
}

Чтобы закрыть вид, у меня есть кнопка с кодом

- (IBAction)cancel {
    [self dismissModalViewControllerAnimated:YES];
}

журнал "хорошо, парень" отображается при первом появлении представления, но никогда после запуска. Есть ли способ, который я могу использовать, чтобы приложение "забыло" о представлении? Или я должен использовать другой метод загрузки? Я пробовал loadView (я думаю), но на нем был пустой экран ...

Спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 22 декабря 2009

viewDidLoad вызывается только при первом создании представления. Если вы не воссоздаете контроллер представления каждый раз, вы будете вызывать его только один раз (и вызывать снова, если вы получите предупреждение памяти, и представление будет нулевым) Вы, вероятно, хотите использовать viewWillAppear: или viewDidAppear:.

0 голосов
/ 24 декабря 2009

Убедитесь, что вы вызываете суперкласс в каждом из этих методов, например,

- (void)viewWillAppear:(BOOL)animated {
  NSLog(@"view appeared");
  [super viewWillAppear:animated];
}
...