viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear指南

是否有正确使用这些方法的指导原则? 特别是,我想知道我可以在里面使用什么types的代码。

例如,如果我必须调用一个从WS中检索数据的方法,那么我应该在哪里调用它? 我可以在哪里注册/取消注册NSNotification? 等等

从UIViewController

viewWillAppear中:

在接收者的视图即将被显示在屏幕上之前以及在任何animation被configuration用于显示视图之前调用该方法。 您可以重写此方法以执行与呈现视图关联的自定义任务。 例如,您可以使用此方法更改状态栏的方向或样式,以与正在呈现的视图的方向或样式相协调。 如果您重写此方法,则必须在实现中的某个时刻调用super。

viewWillDisappear:

调用此方法是为了响应从其窗口中删除的视图或其他视图覆盖的视图。 在视图被实际移除或覆盖之前以及configuration任何animation之前调用此方法。

子类可以重写此方法,并使用它来提交编辑更改,退出视图的第一个响应者状态或执行其他相关任务。 例如,您可以使用此方法在视图首次显示时恢复对viewDidDisappear:方法中进行的状态栏的方向或样式的更改。 如果您重写此方法,则必须在实现中的某个时刻调用super。

viewDidAppear:

您可以重写此方法以执行与呈现视图相关的其他任务。 如果您重写此方法,则必须在实现中的某个时刻调用super。

viewDidDisappear:

您可以重写此方法以执行与closures或隐藏视图相关的其他任务。 如果您重写此方法,则必须在实现中的某个时刻调用super。

有关更多信息,请查看适用于iOS的View Controller编程指南

除了答案之外:您应该在实现开始时调用像super viewWillAppear这样的方法,并在方法的末尾调用viewDidAppear:。 超类应该从初始化开始,最后应该终止。