我应该在自己的代码之后还是在之前调用?

[抱歉,我的英文不好]

这个问题很简单(但我在expression它,并在谷歌中find麻烦)…

我应该(在所有类似的情况下,当我重写超级方法,不仅这一个)使用:

- (void)viewDidLoad { /* my code */ [super viewDidLoad]; } 

要么

 - (void)viewDidLoad { [super viewDidLoad]; /* my code */ } 

还是取决于?

在某些情况下,顺序无关紧要。 在其他方面,秩序至关重要。

一些概括将有助于:

  • 当你构造对象状态的一部分( viewDidLoadinit... )时,首先通过super调用。
  • 当你破坏对象的一部分状态( viewDidUnloaddealloc )时,最后通过super调用。
  • 如果我确定顺序没有关系,那么我只是通过super第一呼叫,以便于组织。

这取决于方法; 例如-[super init] (before)vs -[super dealloc] (after)。