在UIViewController's documentation中,Apple建议在执行viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear等的某个时刻调用super。例如,关于viewDidDisappear的讨论是:
您可以覆盖此方法以执行与解除或隐藏视图相关的其他任务。如果重写此方法,则必须在实现中的某个时刻调用super。
我的问题是调用super方法时是否重要,如果是,那么调用它的正确时间是什么?超级应该被称为方法的第一行,最后一行,还是中间的某个位置,具体取决于您的特定需求?
在viewDidAppear
中首先调用super
,以便您的呼叫将被覆盖。
在viewWillDisappear
,它似乎是一个折腾,我已经广泛研究,无法找到一个确定的答案,它似乎是50/50。我决定在我的代码中最后调用super
,就像我们在super
中调用dealloc
一样。
我通常会在我的实现中首先调用它们。在大多数情况下,它应该无关紧要。