Yaz*_*zmi 28 iphone cocoa-touch objective-c
-(void)viewWillAppear:(BOOL)animated{
//something here
[super viewWillAppear];
}
Run Code Online (Sandbox Code Playgroud)
是否[super viewWillAppear];
总是需要?如果不是何时以及为何使用它?
Fel*_*xyz 51
首先,正确的锅炉板应该是:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//something here
}
Run Code Online (Sandbox Code Playgroud)
换句话说,super
先打电话,然后自己做.你必须将animated
参数传递给super
.
您通常希望在任何方法中首先调用超类的实现.在许多语言中都是必需的.在Objective-C中它不是,但如果你不把它放在方法的顶部,你很容易遇到麻烦.(也就是说,我有时会打破这种模式.)
是否需要调用super's
实现?在这种特殊方法的情况下,如果不调用它,可能会出现意外行为(特别是如果你有子类的话).所以答案绝不是技术意义上的,但你应该总是这样做.UINavigationController
但是,在许多其他方法中,可能有充分的理由不打电话super
.