何时/为何/如何使用UINavigationControllerDelegate协议实例方法?

ma1*_*w28 9 iphone uiviewcontroller uinavigationcontroller

何时/为何/如何使用这些方法?

- navigationController:willShowViewController:animated:
– navigationController:didShowViewController:animated:
Run Code Online (Sandbox Code Playgroud)

你不能只使用这些UIViewController实例方法吗?

– viewWillAppear:
– viewDidAppear:
– viewWillDisappear:
– viewDidDisappear:
Run Code Online (Sandbox Code Playgroud)

Max*_*ann 16

如果您希望在可见视图控制器之外了解这些事件,则可以使用第一个.代表允许您在一个点上获得通知.使用UIViewController的方法会在这些控制器中绑定您,您必须多次编写/调用相同的代码才能实现相同的目标.

通常,您将任务分为以下两组:

  • 所有视图控制器中发生的事情:使用委托
  • 单个视图控制器中发生的事情:使用实例方法