OC中为何要调super的方法

打个比方:在ViewController的生命周期中,我们经常看到这样的代码:

//在VC生命周期的viewDidLoad中第一行调用父类中的方法
[super viewDidLoad];
//在VC生命周期的viewWillAppear中第一行调用父类中的方法
[super viewWillAppear:animated];

那么我们为何要这样做呢?如果不这样做会出现什么情况呢?

以viewDidLoad为例,父类的viewDidLoad会为你做一些初始化工作。比如:B是父类,A继承自B,B在viewDidLoad方法中创建和初始化了一些成员,那么A在调用viewDidLoad的时候没有调用super的viewDidLoad方法,那么就有可能一些成员没有被初始化,可能就会产生一些问题。

建议初学者一定不要忘记调用super的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章