我应该在自己的代码之后还是在之前调用?
[抱歉,我的英文不好]
这个问题很简单(但我在expression它,并在谷歌中find麻烦)…
我应该(在所有类似的情况下,当我重写超级方法,不仅这一个)使用:
- (void)viewDidLoad { /* my code */ [super viewDidLoad]; }
要么
- (void)viewDidLoad { [super viewDidLoad]; /* my code */ }
还是取决于?
在某些情况下,顺序无关紧要。 在其他方面,秩序至关重要。
一些概括将有助于:
- 当你构造对象状态的一部分(
viewDidLoad
和init...
)时,首先通过super
调用。 - 当你破坏对象的一部分状态(
viewDidUnload
或dealloc
)时,最后通过super
调用。 - 如果我确定顺序没有关系,那么我只是通过
super
第一呼叫,以便于组织。
这取决于方法; 例如-[super init]
(before)vs -[super dealloc]
(after)。