IOS視圖控制器
創(chuàng)新互聯(lián)建站基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)達州服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
所謂的生命周期,也就是幾個函數(shù)的調用順序,這里以用Storyboard來創(chuàng)建一個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函數(shù)(init;initWithFrame;initWithCoder;等)--初始化
2 awakeFromNib--在loadView之前的工作放在這里
3 viewDidLoad--注意,一個ViewController一個生命周期內這個函數(shù)只會調用一次
4 viewWillAppear -- view將要出現(xiàn),每次View消失再出現(xiàn)都會調用
5 viewWillLayoutSubviews--簡要對子試圖進行布局
6 viewDidLayoutSubivews--完成對子試圖布局
7 viewDidAppear--視圖將要出現(xiàn)在屏幕上
---上述代碼不含部分
8 viewWillDisappear--View將要消失
9 viewDidDisappear--View已經消失
這九個就是通常的視圖控制器生命周期內函數(shù)調用順序,一定要清楚什么樣的代碼應該放在視圖控制器生命周期的什么位置
BTY:
didReceiveMemoryWarning
這個函數(shù)通常也在生命周期的考慮范圍內,當內存不足時候會調用,這時候應當進行適當?shù)膬却驷尫牛蝗籭OS會強制關閉當前的APP
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
網站標題:IOS視圖控制器的生命周期實例詳解
文章路徑:http://vcdvsql.cn/article46/iijohg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站內鏈、標簽優(yōu)化、網站設計、企業(yè)建站、靜態(tài)網站、定制網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)