iOS ViewController的生命週期

      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的生命週期的方法,有些過時了,蘋果內部做了優化,就是不常用。

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