通过UINavigationControllerDelegate接收ViewDidUnload消息

时间:2011-10-31 07:29:51

标签: ios uiviewcontroller uinavigationcontroller

DetailViewController< - > MasterViewController< - >的ViewController

目前我通过让ViewController类中的变量指向DetailViewController来解决我的问题,以便在按下ViewController中的DONE按钮时执行方法。

- (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];

已在DetailViewController中设置了UINavigationControllerDelegate。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我的问题制定得很糟糕。

答案在文档中:

  • 适用于iOS的View Controller编程指南

    - >模态视图控制器

    • 解雇模态视图控制器

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