Получение сообщения о запуске viewDidUnload через UINavigationControllerDelegate

#ios #uiviewcontroller #uinavigationcontroller

#iOS #uiviewcontroller #uinavigationcontroller

Вопрос:

DetailViewController <-> MasterViewController <-> ViewController

На данный момент я решаю свою проблему, указав переменную в классе ViewController на DetailViewController, чтобы я мог выполнить метод при нажатии кнопки DONE в ViewController.

 - (void)doneButtonPressed { 
       [self.detailViewController method];
}
 

Что я хочу сделать, так это чтобы ViewController сообщал DetailViewController при его выгрузке, чтобы DetailViewController мог выполнять сам метод.

 - (void)viewWillDisappear:(BOOL)animated {
      [super viewWillDisappear:animated];
      [[self.navigationController delegate] performSelector:@selector(method)];
}
 

Что я пытался, так это заставить MasterViewController установить делегирование ViewControllers для DetailViewController с помощью этого кода, когда он нажимается:

 ViewController *ViewController = [[ViewController alloc] init];

ViewController.navigationController.delegate = self.detailViewController;

[self.navigationController pushViewController:ViewController animated:YES];
 

UINavigationControllerDelegate был установлен в DetailViewController.

Что я делаю не так?

Ответ №1:

Мой вопрос был плохо сформулирован.

Ответ содержится в документации:

  • Просмотр руководства по программированию контроллера для iOS

    -> Контроллеры модального представления

    • Отклонение контроллера модального представления

http://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html#//apple_ref/doc/uid/TP40007457-CH111-SW14

Комментарии:

1. Спасибо за предоставленный ответ. Если вы считаете, что вопрос был неправильно сформулирован, не стесняйтесь редактировать и улучшать его, чтобы другим пользователям с такой же проблемой было проще и они могли воспользоваться найденным вами решением. Добро пожаловать в Stack Overflow!