重寫viewWillAppear 和 viewWillDisAppear時[super viewWillAppear] 和 [super viewWillDisappear]的調用位置
參考網址:https://stackoverflow.com/questions/3906704/when-should-i-call-super
在寫代碼的過程中如果重寫了viewWillAppear 和 viewWillDisAppear方法,但是沒有調用[super viewWillAppear] 和 [super viewWillDisappear]的話使用靜態分析工具(快捷鍵 command + shift + B)分析的時候會出現問題
如下圖展示出來出現問題的情況和 XCode給出的問題說明:
/ViewController.m:29:1: The ‘viewWillAppear:‘ instance method in UIViewController subclass ‘ViewController‘ is missing a [super viewWillAppear:] call
/ViewController.m:29:1: The ‘viewWillAppear:‘ instance method in UIViewController subclass ‘ViewController‘ is missing a [super viewWillAppear:] call
如果調用了super 的方法的話在使用靜態分析工具的時候就不會出現問題
那麽說我們如果是在這兩個方法裏邊要執行其他的代碼的話,應該是要先調用super 還是要先調用我們要執行的別的代碼呢?
https://stackoverflow.com/questions/3906704/when-should-i-call-super
stackoverflow上邊是這麽說的 如下圖所示
以後可以這麽寫
1 - (void)viewWillAppear:(BOOL)animated{ 2 [super viewWillAppear:animated]; 3 //在這裏調用要執行的代碼 4 5 6 } 7 8 - (void)viewDidAppear:(BOOL)animated{ 9 //在這裏調用要執行的代碼 10 [super viewDidAppear:animated]; 11 }
如有錯誤 敬請指正
如需轉載 請註明出處 謝謝
重寫viewWillAppear 和 viewWillDisAppear時[super viewWillAppear] 和 [super viewWillDisappear]的調用位置