2009-12-22 4 views
0

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

[self presentModalViewController:addItemViewController animated:YES]; 

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

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

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

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

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

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

ответ

2

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

+0

Я пробовал оба метода и ничего не делал. Мне просто нужно взглянуть на другой способ, чтобы вызвать представление. –

+0

никого не называют? –

+0

nope. Я помещал все три события с выходом в журнал, и только первый вид появился в первый раз, а затем ничего не сделал. И пробовал их отдельно, без радости. Я сделал работу и вызвал функцию, которая была в представлении из моего файла делегата. Такова жизнь! Спасибо за помощь в любом случае :) –

0

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

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

что это на самом деле делает? (вызов суперкласса?) –

+0

Для большинства из них doc'd ничего не делает. Однако вы все равно должны это назвать, поскольку это может измениться в будущем. –

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