iOS ViewController的生命週期

      ViewController的生命週期隨着系統版本的升級,有些方法已經失效了,爲何失效,和爲啥要失效,是咱們必需要掌握的技能,剛開始作iOS那會都是讓用mrc寫代碼,爲啥呢,由於更好的讓明白生命週期,爲了學習本質,隨着時間的轉移,arc的替代了mrc,雖然說如今有些第三方庫仍是不支持arc,可是蘋果也支持混編,混編其實對一個項目來講並非更好,我寧願本身動手改改第三方庫,雖然說會改出毛病來(畢竟對c++的功底仍是要求的),我認爲不管怎麼改都會改出毛病,人家寫好的庫,你改了,就是有毛病,你本身認爲沒有毛病,別人不那樣認爲,因此通常都是對第三方庫進行優化,或者本身寫一個相似的庫來顯示本身技術的牛,其實都是瞎胡鬧,嘴巴那樣說說,內心仍是很佩服的,畢竟別人本身寫的,這樣技術就日益提升了差距。c++

    ViewController的生命週期理解透徹,對內存泄露和優化有着獨特的解決問題的方法,一樣也會讓本身的代碼看起來很規範,說白了最簡單的辦法就是每一個方法打印一遍,而後挨個吃透就能夠了,深刻的辦法就是看源碼本身一步一步去研究去,這樣收穫會更大,在學習其餘語言更加方便。我也學了好幾門語言,咋說呢,思想都是相同,仍是大神說的對,要把一門語言吃透,首先得有個吃飯的飯碗,其次保持本身的飯碗不會被搶,而後纔是給本身加菜仍是加肉就是看本身的職業發展。app

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

相關文章
相關標籤/搜索