当提供viewWillAppear
、viewDidLoad
、viewDidAppear
、loadView
等实现时
应该在执行自定义操作之前还是之后调用父类(super class)对应的方法?
如果以错误的顺序执行,可能会产生什么后果?
即
应该是:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
stuff
}
或
- (void)viewWillAppear:(BOOL)animated
{
stuff
[super viewWillAppear:animated];
}
等等
最佳答案
对于绝大多数您想做的事情,它根本不会产生任何影响。首先调用“super”很方便,因为之后很容易检查并确保您正在调用 super。 Apple 的文档只是指出“您必须在实现的某个时刻调用 super”。
有一种情况可能更重要。如果您不是直接从 UIViewController 继承,而是从另一个自定义类继承,那么您应该在做出决定时研究该类的特定行为。通常,首先调用 super 是一种很好的设计模式,可以轻松地在调试时始终预测行为。
关于ios - 调用 [super viewWillAppear] [super viewDidLoad] 等的正确顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234810/