从模板创建的新iOS ViewControllers包含几个调用其父类方法的“样板”方法。
-(void) viewDidLoad {
[super viewDidLoad];
}
- (void) viewDidUnload {
[super viewDidUnload];
}
- (void) dealloc {
[super dealloc];
}
修改这些类时,我应该在父类调用之前或之后放置自己的代码吗?
- (void) viewDidLoad {
// Should I put my code here?
[super viewDidLoad];
// Or here?
}
答案 0 :(得分:3)
在viewDidLoad(通常)中你应该继续,因为它调用父类的load方法
在dealloc中你会去
答案 1 :(得分:3)
这适用于所有OOP。在构造函数(以及其他方法)中,您应该在代码之前调用父代的构造函数。原因是您的代码可能需要一些在父级中处理的初始化,即base的初始化应该在派生类的初始化之前进行。在析构函数中你应该做相反的事情,即释放派生类的资源应该在释放base的资源之前。原因很简单。派生类的资源可能取决于基础资源。如果在此之前释放基础资源可能会有麻烦。
这是理想的情况。在许多情况下,您可能看到没有区别,但如果存在如上所述的依赖性,那么您将遇到麻烦。因此,您应该遵循标准,在代码之前调用基类的方法,并且在dealloc中执行相反的操作。