OC中爲何要調super的方法

打個比方:在ViewController的生命週期中,我們經常看到這樣的代碼:

//在VC生命週期的viewDidLoad中第一行調用父類中的方法
[super viewDidLoad];
//在VC生命週期的viewWillAppear中第一行調用父類中的方法
[super viewWillAppear:animated];

那麼我們爲何要這樣做呢?如果不這樣做會出現什麼情況呢?

以viewDidLoad爲例,父類的viewDidLoad會爲你做一些初始化工作。比如:B是父類,A繼承自B,B在viewDidLoad方法中創建和初始化了一些成員,那麼A在調用viewDidLoad的時候沒有調用super的viewDidLoad方法,那麼就有可能一些成員沒有被初始化,可能就會產生一些問題。

建議初學者一定不要忘記調用super的方法。

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