IOS应用程序生命周期-UIViewController的生命周期

IOS应用程序生命周期-UIViewController的生命周期


UIViewController是连接Model和View的Bridge,了解它的生命周期至关重要。知道了什么时候执行哪个方法,才会知道该在哪个方法里做什么事。

下面是UIViewController的生命周期方法:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
{
    NSArray *array;
}

- (id)init
{
    self = [super init];
    if (self) {
        CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    }
    
    return self;
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    }
    return self;
}

- (void)loadView
{
    [super loadView];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    array = [[NSArray alloc] initWithObjects:@"11", @"2", nil];
	CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    self.view.backgroundColor = [UIColor whiteColor];
    
}

- (BOOL)isViewLoaded
{
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
    return [super isViewLoaded];
}

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)dealloc
{
    array = nil;
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    CLog(@"%@: %@", NSStringFromSelector(_cmd), self);
}

@end


第一次启动应用程序时,打印出的LOG:




点击Button后进入第二个页面,打印出的LOG:



回退到一个页面,打印出的LOG:




在内存不紧张的情况下:
按HOME键返回主界面,没有打印LOG;
第二次进入应用,没有打印LOG
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值