溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS ViewController的生命周期

發布時間:2020-03-04 21:50:15 來源:網絡 閱讀:883 作者:大頭狼小鬼 欄目:移動開發

? ? ??ViewController的生命周期隨著系統版本的升級,有些方法已經失效了,為什么失效,和為啥要失效,是我們必須要掌握的技能,剛開始做iOS那會都是讓用mrc寫代碼,為啥呢,因為更好的讓明白生命周期,為了學習本質,隨著時間的轉移,arc的替代了mrc,雖說現在有些第三方庫還是不支持arc,但是蘋果也支持混編,混編其實對一個項目來說并不是更好,我寧愿自己動手改改第三方庫,雖說會改出毛病來(畢竟對c++的功底還是要求的),我認為無論怎么改都會改出毛病,人家寫好的庫,你改了,就是有毛病,你自己認為沒有毛病,別人不那樣認為,所以一般都是對第三方庫進行優化,或者自己寫一個類似的庫來顯示自己技術的牛,其實都是瞎胡鬧,嘴巴那樣說說,心里還是很佩服的,畢竟別人自己寫的,這樣技術就日益提高了差距。

? ??ViewController的生命周期理解透徹,對內存泄露和優化有著獨特的解決問題的方法,同樣也會讓自己的代碼看起來很規范,說白了最簡單的辦法就是每個方法打印一遍,然后挨個吃透就可以了,深入的辦法就是看源碼自己一步一步去研究去,這樣收獲會更大,在學習其他語言更加方便。我也學了好幾門語言,咋說呢,思想都是相同,還是大神說的對,要把一門語言吃透,首先得有個吃飯的飯碗,其次保持自己的飯碗不會被搶,然后才是給自己加菜還是加肉就是看自己的職業發展。

#pragma?mark?1.初始化方法
-?(instancetype)init{
????self?=?[super?init];
????if(self){
????????NSLog(@"%s",__func__);
????}
????return?self;
}

#pragma?mark?2.加載view方法
-?(void)loadView{
????
????[super?loadView];
????NSLog(@"%s",__func__);
}

#pragma?mark?3.加載方法
-?(void)viewDidLoad{
????[super?viewDidLoad];
}

#pragma?mark?4.將要修改視圖大小方法
-?(void)viewWillLayoutSubviews{
????[super?viewWillLayoutSubviews];
????

????NSLog(@"%s",__func__);

}

#pragma?mark?5.修改視圖完成大小方法
-?(void)viewDidLayoutSubviews{
????[super?viewDidLayoutSubviews];
????
????NSLog(@"%s",__func__);
}


#pragma?mark?6.將要進來方法
-?(void)viewWillAppear:(BOOL)animated{
????
????[super?viewWillAppear:animated];
????
????NSLog(@"%s",__func__);
}

#pragma?mark?7.已經進來方法
-?(void)viewDidAppear:(BOOL)animated{
????[super?viewDidAppear:animated];
????
????NSLog(@"%s",__func__);
}

#pragma?mark?8.將要進來離開方法
-?(void)viewWillDisappear:(BOOL)animated{
????[super?viewWillAppear:animated];
????
????NSLog(@"%s",__func__);

}

#pragma?mark?9.已經離開方法
-?(void)viewDidDisappear:(BOOL)animated{
????[super?viewDidDisappear:animated];
????
????[self.person?release];
????self.person?=?nil;
????NSLog(@"%s",__func__);
}

#pragma?mark?內存溢出的方法?只要內存溢出,就會調用方法?區域[視圖加載完畢--視圖離開的方法]
-?(void)didReceiveMemoryWarning{
????NSLog(@"%s",__func__);
}

#pragma?mark?釋放內存的方法?只要引用計數位0,就會調用,區域[視圖加載完畢--視圖離開的方法]
-?(void)dealloc{
????
????[super?dealloc];
????NSLog(@"%s",__func__);
????
}

以上代碼就是ViewController的生命周期的方法,有些過時了,蘋果內部做了優化,就是不常用。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女