-(void)viewWillAppear:(BOOL)animated{
//something here
[super viewWillAppear];
}
[super viewWillAppear];
всегда требуемый? Если не, когда и почему Вы используете его?
Прежде всего, правильная плита котла должна быть:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//something here
}
Другими словами, сначала позвоните super
, а затем займитесь своими делами. И вы должны передать параметр анимированный
в super
.
Обычно вы хотите сначала вызвать реализацию суперкласса в любом методе. На многих языках это необходимо. В Objective-C это не так, но вы легко можете столкнуться с проблемами, если не поместите его в начало своего метода. (Тем не менее, я иногда нарушаю этот шаблон.)
Требуется ли вызов super
реализации ? В случае этого конкретного метода вы можете получить неожиданное поведение, если не вызовете его (особенно, если вы создали подкласс UINavigationController
, например). Так что ответ нет не в техническом смысле, но, вероятно, вам следует делать это всегда.
Однако во многих других методах могут быть веские причины не вызывать супер
.