-(void)viewwillAppear
{
[super viewwillAppear:animated];
}
调用[super viewwillAppear:animated]
意味着什么,如果我们不调用它会发生什么?
答案 0 :(得分:5)
使用super
调用方法的基类版本。您会在init
,dealloc
,viewDidLoad
等方法中看到类似的来电。原因是在基类的实现中可能会执行一些重要的事情,否则派生类将无法正常工作。在派生类中重写方法时,需要使用super
调用基本版本。
使用super
时不会调用基类方法的唯一情况是,当您知道不需要基类执行的任务时,换句话说,您完全重写。这不是viewWillAppear:animated
或viewDidLoad
等情况。所以我们在这些情况下总是称为超级。
答案 1 :(得分:2)
reference明确说明
此方法在调用之前调用 接收者的观点即将来临 显示在屏幕上和之前 动画配置为显示 风景。您可以覆盖此方法 执行关联的自定义任务 与呈现视图。例如, 您可以使用此方法进行更改 状态的方向或风格 栏与方向协调 或呈现的视图风格。 如果您覆盖此方法,则必须 在你的某个时刻打电话给超级 实施强>
答案 2 :(得分:2)
Apple的viewWillAppear文档:只是说:
如果覆盖此方法,则必须在实施中的某个时刻调用super。
如果你不打电话,它可能会导致一些意想不到的行为。请注意,“在某些时候”意味着您不必先调用它。