亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS中的生命周期

2019-11-14 19:09:25
字體:
來源:轉載
供稿:網友

對于一個iOS app來講,生命周期是一個十分至關重要的東西。對于一個app來講控制著app的開啟、睡眠、關閉等狀態;對于一個頁面的來講,控制頁面的加載、顯示、消失;對于一個View或者一個普通的類來講,控制著初始化、繪制、釋放。

一、AppDelegate

當你創建一個iOS項目時,在appDelegate中你會看到如下六個方法,他們分別控制著不同的app生命周期

 

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

當app完成加載時,此方法會被調用。此方法在app啟動時只會執行一次。一般app的根窗口會在此方法中創建。調用后app處于激活狀態。launchOptions中包含很多用戶信息,可以通過如UIApplicationLaunchOptionsRemoteNotificationKey等Key來獲取相關的用戶信息

示例(非storyboard/xib方式):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    NSDictionary* userInfo = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];            self.viewController = [[ViewController alloc] init];    self.window.rootViewController = self.viewController;    [self.window makeKeyAndVisible];    return YES;}

 

-(void)applicationWillResignActive:(UIApplication *)application;

當app正在使用時,遇到來電、鎖屏、回到home頁、跳轉到其他app并且app掛起不在后臺運行的時候,此方法會被調用。調用后app處于掛起狀態。此方法調用于applicationDidEnterBackground之前。

 

-(void)applicationDidEnterBackground:(UIApplication *)application;

當app正在使用時,遇到來電、鎖屏、回到home頁、跳轉到其他app并且app需要后臺運行的時候(蘋果允許local,music,voip,notifaction在后臺中運行),此方法會被調用。調用后app處于后臺運行狀態。

 

-(void)applicationWillEnterForeground:(UIApplication *)application;

當app從后臺運行狀態切換到前臺運行時,此方法會被調用。調用后app處于未激活狀態。此方法調用于applicationDidBecomeActive之前。

 

-(void)applicationDidBecomeActive:(UIApplication *)application;

當app被重新激活時,此方法會被調用。此方法應用在app之前已經被打開,但是不處于激活狀態,而在此跳轉到激活狀態的情況。每次跳轉到app中,此方法都會被調用。調用后app處于激活狀態。

 

-(void)applicationWillTerminate:(UIApplication *)application;

當手機關機或者雙擊home鍵,將app向上拖動致使完全退出時,此方法會被調用。此方法執行之后app的進程會被殺死。

 

二、UIViewController

 

對于一個頁面來講,你有8個生命周期可以控制

-(void)awakeFromNib;

但使用storyboard或者xib時,在讀取上面的布局之前,此方法會被調用。此方法早于其他方法調用,晚于初始化。在一個頁面中,此方法只會被調用一次。

-(void)viewDidLoad;

讀取storyboard或者xib的布局之后此方法會被調用。此方法晚于awakeFromNib調用,早于其他方法。在一個頁面中,此方法只會被調用一次。多用于初始化頁面布局與全局布局相關變量。

 

-(void)viewWillAppear:(BOOL)animated;

當頁面即將出現時,此方法會被調用。當頁面之間跳轉有動畫時,此方法在動畫開始時被調用。

 

-(void)viewDidAppear:(BOOL)animated;

當頁面已經完全出現時,此方法會被調用。當頁面之間跳轉有動畫時,此方法會在動畫結束時被調用。

 

-(void)viewWillDisappear:(BOOL)animated;

當頁面即將消失時,此方法被調用。當頁面之間跳轉有動畫時,此方法在動畫開始時被調用。

 

-(void)viewDidDisappear:(BOOL)animated;

當頁面已經完全消失時,此方法會被調用。當頁面之間跳轉有動畫時,此方法會在動畫結束時被調用。

 

-(void)viewWillLayoutSubviews;

當頁面布局即將發生全部變動時(多用于橫屏視屏翻轉),此方法會被調用,此方法在翻轉動畫開始時被調用。

 

-(void)viewDidLayoutSubViews;

當頁面布局變動結束時(多用于橫屏視屏翻轉),此方法會被調用,此方法在翻轉動畫結束時被調用。

 

三、View & NSObject

-(void)layoutSubviews;

當View中調用addSubView、view的Frame被重新設置、滾動一個UIScrollView、旋轉屏幕時,此方法會被調用。改變一個UIView大小的時候也會觸發父UIView上的layoutSubviews事件。

 

-(void)drawRect:(CGRect)rect;

重繪一個View時,此方法會被調用。

 

-(void)dealloc;

一個View或者NSObject被釋放時,此方法會被調用。NSNotification等可能會造成野指針、也通知的變量需要在此手動釋放。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一色中文字幕| 午夜精品福利在线观看| 亚洲国产精品99| 精品国产1区2区| 亚洲综合中文字幕在线观看| 美女久久久久久久久久久| 日韩在线观看你懂的| 国产欧美日韩丝袜精品一区| 青青在线视频一区二区三区| 欧洲成人在线观看| www.国产精品一二区| 自拍偷拍亚洲一区| 亚洲国产美女精品久久久久∴| 欧美肥婆姓交大片| 欧美床上激情在线观看| 国产精品久久电影观看| 日韩激情av在线播放| 26uuu日韩精品一区二区| 亚洲一区二区三区四区在线播放| 精品偷拍各种wc美女嘘嘘| 日韩av综合网站| 一本大道久久加勒比香蕉| 欧美xxxwww| 综合欧美国产视频二区| 国产精品男人的天堂| 91色在线视频| 久久偷看各类女兵18女厕嘘嘘| 亚洲aⅴ男人的天堂在线观看| 日韩精品在线观看网站| 日韩精品中文字幕在线观看| 亚洲精品一区二区久| 中文一区二区视频| 浅井舞香一区二区| 久久久亚洲成人| 国产成人综合精品在线| 国内精品久久久久久中文字幕| 亚洲国产欧美一区二区三区久久| 亚洲一区美女视频在线观看免费| 日韩网站免费观看| 麻豆国产精品va在线观看不卡| 亚洲精品国产综合久久| 色悠悠国产精品| 日韩女优人人人人射在线视频| 日韩av毛片网| 欧美视频在线观看免费网址| 精品亚洲一区二区三区四区五区| 亚洲aa中文字幕| 国产精品久久久久久久久久99| 91国产视频在线播放| 亚洲国产女人aaa毛片在线| 亚洲缚视频在线观看| 欧美激情极品视频| 国产精品99久久久久久www| 欧美中文字幕在线视频| 久久久久久久久爱| 91亚洲精品视频| 亚洲午夜小视频| 性色av一区二区三区免费| 国产精品日韩在线观看| 久久精品91久久香蕉加勒比| 亚洲精品中文字幕女同| 精品国产91久久久久久老师| 黑人与娇小精品av专区| 丝袜一区二区三区| 91成人在线播放| 国产精品亚洲精品| 国产精品久久久久久亚洲调教| 欧美成人免费全部观看天天性色| 国产精欧美一区二区三区| 亚洲欧美日韩一区二区三区在线| 日本最新高清不卡中文字幕| 欧美精品久久久久久久| 日韩三级影视基地| 78色国产精品| 国产亚洲一区二区精品| 精品性高朝久久久久久久| 欧美性69xxxx肥| 国产精品高潮呻吟视频| 欧美大片大片在线播放| 欧美日产国产成人免费图片| 在线观看国产精品淫| 亚洲男人天堂视频| 亚洲精品视频中文字幕| 亚洲国产精品网站| 狠狠色狠狠色综合日日小说| 91视频国产精品| 疯狂蹂躏欧美一区二区精品| 欧美午夜性色大片在线观看| 亚洲专区在线视频| 热re99久久精品国产66热| 91视频免费在线| 亚洲国产日韩欧美在线99| 久久人人爽人人爽人人片av高请| 97在线视频免费看| 亚洲精品综合久久中文字幕| 91精品国产免费久久久久久| 欧美做爰性生交视频| 中文字幕日韩专区| 青青草国产精品一区二区| 亚洲欧洲日韩国产| 欧美亚洲国产日本| 欧美贵妇videos办公室| 国产欧美精品久久久| 青草热久免费精品视频| 欧美巨猛xxxx猛交黑人97人| 亚洲在线www| 97精品伊人久久久大香线蕉| 久久人人爽亚洲精品天堂| 中文字幕不卡在线视频极品| 国产精品久在线观看| 亚洲精品av在线播放| 九九视频这里只有精品| 国产精品久久在线观看| 成人美女av在线直播| 日韩美女免费线视频| 一区三区二区视频| 久久久久久久久中文字幕| 久久久久国产精品一区| 日韩av在线资源| 国产欧美一区二区三区久久| 国产成人精品999| 最近2019好看的中文字幕免费| 亚洲激情在线观看| 性视频1819p久久| 欧美日韩性视频在线| 在线视频免费一区二区| 久久成人精品电影| 亚洲精品久久久久久久久久久久久| 欧美色播在线播放| 久久99精品久久久久久琪琪| 97国产精品视频人人做人人爱| 动漫精品一区二区| 国产精品欧美久久久| 亚洲日本欧美日韩高观看| 91精品国产综合久久香蕉的用户体验| 欧美裸体xxxxx| 欧美日本亚洲视频| 久久亚洲精品成人| 日韩亚洲一区二区| 2020国产精品视频| 欧美壮男野外gaytube| 国产日韩精品综合网站| 国产男人精品视频| 性欧美办公室18xxxxhd| 国产精品自产拍在线观| 日韩av色在线| 精品美女永久免费视频| 国产91在线播放精品91| 亚洲国产精品女人久久久| 国产精品久久久久免费a∨大胸| 成人黄色av网站| 日韩av中文字幕在线| 国产精品久久久久久久av大片| 福利二区91精品bt7086| 国产精品综合久久久| 久热99视频在线观看| 日韩电影在线观看中文字幕| 久久亚洲欧美日韩精品专区| 丰满岳妇乱一区二区三区| 欧美日韩aaaa| 26uuu另类亚洲欧美日本老年| 伊人久久五月天| 九九视频直播综合网| 久久久精品视频成人|