老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

IOS中UIView的生命周期的示例分析

這篇文章將為大家詳細講解有關IOS中UIView的生命周期的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

目前創新互聯已為上千余家的企業提供了網站建設、域名、網頁空間、成都網站托管、企業網站設計、伊金霍洛網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

IOS UIView的生命周期的實例詳解

任何對象的者有一個生命周期,即都存在一個實例化到銷毀的過程。

UIView對象也不例外,那么UIView從init/new開始后,直到dealloc結束的過程中都經歷了哪些過程呢?

首先自定義繼承自UIView的對象LifeView

#import  
 
@interface LifeView : UIView 
 
@end
#import "LifeView.h" 
 
@interface LifeView () 
{ 
  NSInteger count; 
} 
 
@end 
 
@implementation LifeView 
 
- (instancetype)initWithFrame:(CGRect)frame 
{ 
  self = [super initWithFrame:frame]; 
  if (self) 
  { 
    NSLog(@"<-- 1 %s , count = %@-->", __func__, @(count++)); 
  } 
  return self; 
} 
 
 
- (void)willMoveToSuperview:(nullable UIView *)newSuperview 
{ 
  NSLog(@"<-- 2 %s , count = %@-->", __func__, @(count++)); 
} 
 
- (void)didMoveToSuperview 
{ 
  NSLog(@"<-- 3 %s , count = %@-->", __func__, @(count++)); 
} 
 
- (void)willMoveToWindow:(nullable UIWindow *)newWindow 
{ 
  NSLog(@"<-- 4/7 %s , count = %@-->", __func__, @(count++)); 
} 
 
- (void)didMoveToWindow 
{ 
  NSLog(@"<-- 5/8 %s , count = %@-->", __func__, @(count++)); 
} 
 
- (void)layoutSubviews 
{ 
  NSLog(@"<-- 6 %s , count = %@-->", __func__, @(count++)); 
} 
 
- (void)removeFromSuperview 
{ 
  NSLog(@"<-- 9 %s , count = %@-->", __func__, @(count++)); 
} 
 
- (void)dealloc 
{ 
  NSLog(@"<-- 10 %s , count = %@-->", __func__, @(count++)); 
} 
 
@end

其次,在B視圖控制器中實例化,并添加到父視圖

- (void)viewDidLoad { 
  [super viewDidLoad]; 
  // Do any additional setup after loading the view. 
   
  self.title = @"life view"; 
   
  LifeView *lifeView = [[LifeView alloc] initWithFrame:CGRectMake(10.0, 80.0, 100.0, 100.0)]; 
  [self.view addSubview:lifeView]; 
  lifeView.tag = 1000; 
  lifeView.backgroundColor = [UIColor orangeColor]; 
}

當B視圖控制器被push,或present出來時,被調用的LifeView的相關方法,如下所示:

// 實例化時 
2017-06-16 00:37:10.694 DemoViewLife[3963:121184] <-- 1 -[LifeView initWithFrame:] , count = 0--> 
2017-06-16 00:37:10.695 DemoViewLife[3963:121184] <-- 2 -[LifeView willMoveToSuperview:] , count = 1--> 
2017-06-16 00:37:10.695 DemoViewLife[3963:121184] <-- 3 -[LifeView didMoveToSuperview] , count = 2--> 
2017-06-16 00:37:10.697 DemoViewLife[3963:121184] <-- 4/7 -[LifeView willMoveToWindow:] , count = 3--> 
2017-06-16 00:37:10.697 DemoViewLife[3963:121184] <-- 5/8 -[LifeView didMoveToWindow] , count = 4--> 
2017-06-16 00:37:10.701 DemoViewLife[3963:121184] <-- 6 -[LifeView layoutSubviews] , count = 5-->

當B視圖控制器被pop,或dismiss時,被調用的LifeView的相關方法,如下所示:

// 銷毀時 
2017-06-16 00:37:25.514 DemoViewLife[3963:121184] <-- 4/7 -[LifeView willMoveToWindow:] , count = 6--> 
2017-06-16 00:37:25.514 DemoViewLife[3963:121184] <-- 5/8 -[LifeView didMoveToWindow] , count = 7--> 
2017-06-16 00:37:25.515 DemoViewLife[3963:121184] <-- 9 -[LifeView removeFromSuperview] , count = 8--> 
2017-06-16 00:37:25.516 DemoViewLife[3963:121184] <-- 9 -[LifeView removeFromSuperview] , count = 9--> 
2017-06-16 00:37:25.518 DemoViewLife[3963:121184] <-- 10 -[LifeView dealloc] , count = 10-->

從打印信息可以看到方法"removeFromSuperview"被調用了兩次,這是因為在B視圖控制器中,主動調用了該方法。如果沒有主動調用該方法的話,只會被調用一次。

另外被執行過兩次的方法還有"willMoveToWindow"和"didMoveToWindow"。我們可以很好地進行區分,當newWindow存在時,則是實例化創建被第一次調用;而當newWindow為nil時,則是被銷毀了,即結束生命周期。

關于“IOS中UIView的生命周期的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


分享名稱:IOS中UIView的生命周期的示例分析
標題路徑:http://www.xueling.net.cn/article/jeieod.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 精品久久久中文字幕 | 999久久久久久久久6666 | 好吊色欧美一区二区三区视频 | 天海翼精品一区二区三区 | 午夜爽爽爽男女免费观看hd | 国产毛毛片一区二区三区四区 | 中文字幕一综合88久久 | 亚洲国产欧美国产综合久久 | 日韩av影院在线观看 | 国产精品日本一区二区在线播放 | 亚洲国产精品999久久久婷婷 | 亚洲视频网站在线 | 黄色三级毛片视频 | 免费一级特黄录像 | 久久夜夜夜 | 国产日产亚洲系列最新 | 免费A级毛片 | 亚洲一区二区三区四区五区不卡 | 国产精品久久久久久亚洲AV | 精品少妇久久久久久888优播 | 天天躁日日躁狠狠躁婷婷 | 欧美日韩一区二区三区 | 久久伊人八月婷婷综合激情 | 蜜桃传媒AV免费观看麻豆 | 一区二区三区视频在线免费观看 | 日韩高清三区 | 出租屋勾搭老熟妇啪啪 | 韩国av在线免费观看 | 久久精品国内一区二区三区 | 国产久热香蕉在线观看 | 久久精品成人一区 | 免费看又黄又无码的网站 | 一区二区三区免费看 | 色综合久久久久综合一小说 | 国产一区二区二 | 亚洲天堂av网站 | xxxxx日本69| 日本三级图片 | h视频免费 | 国产真实强奷系列在线观看 | 丰满人妻无奈张开双腿AV |