国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS視圖控制器的生命周期實例詳解

2019-10-21 18:47:07
字體:
來源:轉載
供稿:網友

IOS視圖控制器

所謂的生命周期,也就是幾個函數的調用順序,這里以用Storyboard來創建一個ViewController為例

然后我們測試如下代碼

// // ViewController.m // // Created by huangwenchen on 14/12/26. // Copyright (c) 2014年 huangwenchen. All rights reserved. //  #import "ViewController.h"  @interface ViewController ()  @end  @implementation ViewController  - (id)initWithCoder:(NSCoder *)aDecoder{   if (self = [super initWithCoder:aDecoder]) {     NSLog(@"initWithCoder Called");   }   return self; } - (void)viewDidLoad {   [super viewDidLoad];   NSLog(@"viewDidLoad Called");   // Do any additional setup after loading the view, typically from a nib.    } - (void)viewWillAppear:(BOOL)animated{   [super viewWillAppear:animated];   NSLog(@"viewWillAppear Called"); }  -(void)viewDidAppear:(BOOL)animated{   [super viewDidAppear:animated];   NSLog(@"viewDidAppear Called");  }  -(void)awakeFromNib{   NSLog(@"awakeFromNib Called"); }  -(void)viewWillLayoutSubviews{   NSLog(@"viewWillLayoutSubviews Called"); } -(void)viewDidLayoutSubviews{   NSLog(@"viewDidLayoutSubviews Called"); }  @end 

然后,在模擬器上運行,輸出為

2014-12-29 19:42:47.904 KVCForCSDN[2370:126741] initWithCoder Called 2014-12-29 19:42:47.907 KVCForCSDN[2370:126741] awakeFromNib Called 2014-12-29 19:42:47.927 KVCForCSDN[2370:126741] viewDidLoad Called 2014-12-29 19:42:47.927 KVCForCSDN[2370:126741] viewWillAppear Called 2014-12-29 19:42:47.961 KVCForCSDN[2370:126741] viewWillLayoutSubviews Called 2014-12-29 19:42:47.963 KVCForCSDN[2370:126741] viewDidLayoutSubviews Called 2014-12-29 19:42:47.970 KVCForCSDN[2370:126741] viewDidAppear Called 

所以,調用順序為

1 init函數(init;initWithFrame;initWithCoder;等)--初始化
2 awakeFromNib--在loadView之前的工作放在這里
3 viewDidLoad--注意,一個ViewController一個生命周期內這個函數只會調用一次
4 viewWillAppear -- view將要出現,每次View消失再出現都會調用
5 viewWillLayoutSubviews--簡要對子試圖進行布局
6 viewDidLayoutSubivews--完成對子試圖布局
7 viewDidAppear--視圖將要出現在屏幕上

---上述代碼不含部分

8 viewWillDisappear--View將要消失
9 viewDidDisappear--View已經消失

這九個就是通常的視圖控制器生命周期內函數調用順序,一定要清楚什么樣的代碼應該放在視圖控制器生命周期的什么位置
BTY:

didReceiveMemoryWarning

這個函數通常也在生命周期的考慮范圍內,當內存不足時候會調用,這時候應當進行適當的內存釋放,不然iOS會強制關閉當前的APP

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼图壁县| 朝阳市| 渭源县| 乐昌市| 贵港市| 延庆县| 额济纳旗| 五华县| 民权县| 鄂温| 建湖县| 东至县| 安义县| 琼海市| 古丈县| 阳朔县| 阆中市| 久治县| 白河县| 辉南县| 赤城县| 阿拉尔市| 泽普县| 弋阳县| 武清区| 南岸区| 阿拉善右旗| 柏乡县| 道孚县| 靖宇县| 宜昌市| 根河市| 白朗县| 平武县| 德保县| 安达市| 达日县| 黔西| 崇阳县| 包头市| 临夏市|