-(void)viewWillAppear:(BOOL)animated{
//something here
[super viewWillAppear];
}
[super viewWillAppear];
总是需要的吗?如果不是,您何时以及为何使用它?
最佳答案
首先,正确的样板应该是:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//something here
}
换句话说,先调用 super
,然后再做你自己的事情。并且您必须将 animated
参数传递给 super
。
您通常希望在任何方法中首先调用父类(super class)的实现。在许多语言中,它是必需的。在 Objective-C 中不是,但如果不将它放在方法的顶部,则很容易遇到麻烦。 (也就是说,我有时会打破这种模式。)
调用 super 的
实现是必需的吗?对于这个特定的方法,如果您不调用它,您可能会得到意想不到的行为(例如,特别是如果您已经子类化了一个 UINavigationController
)。所以答案是不,不是技术意义上的,但您应该始终这样做。
但是,在许多其他方法中,可能有充分的理由不调用 super
。
关于iphone - [super viewWillAppear] 做什么,什么时候需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348204/