应用程序调用时机

AppDelegate.m文件

#import "AppDelegate.h"

@interface AppDelegate ()
            

@end

@implementation AppDelegate
            

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSLog(@"%s", __func__);
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    NSLog(@"%s", __func__);
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSLog(@"%s", __func__);

}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    NSLog(@"%s", __func__);
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSLog(@"%s", __func__);
}

- (void)applicationWillTerminate:(UIApplication *)application {
    NSLog(@"%s", __func__);

}
ViewController.m文件

#import "ViewController.h"
#import "MyViewController.h"

@interface ViewController ()
@end

@implementation ViewController

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event   //点击self.view调用
{
    MyViewController *myViewCtr = [[MyViewController alloc] init];
    myViewCtr.view.backgroundColor = [UIColor yellowColor];
    [self presentViewController:myViewCtr animated:YES completion:nil];
}

- (void)viewDidLoad {                         //self.view加载完成
    [super viewDidLoad];
    NSLog(@"%s", __func__);
}
- (void)loadView                             //加载self.view
{
    self.view = [[UIView alloc] init];
    self.view.backgroundColor = [UIColor greenColor];
    NSLog(@"%s", __func__);

}
- (void)viewWillAppear:(BOOL)animated        //将要出现
{
    NSLog(@"%s", __func__);
}

- (void)viewDidAppear:(BOOL)animated         //已经出现
{
    NSLog(@"%s", __func__);
}

- (void)viewWillDisappear:(BOOL)animated     //将要消失
{
    NSLog(@"%s", __func__);
}

- (void)viewDidDisappear:(BOOL)animated      //已经消失
{
    NSLog(@"%s", __func__);
}

- (void)viewWillLayoutSubviews                //将要重新布局
{
    self.view.frame = CGRectMake(100, 100, 100, 100);
    NSLog(@"%s", __func__);
}

- (void)viewDidLayoutSubviews                 //已经重新布局
{
    self.view.backgroundColor = [UIColor blueColor];
}
- (void)dealloc                              //对象被销毁
{
    NSLog(@"ViewController已挂掉,不要来烦我");
}

@end
MyViewController.m文件

#import "MyViewController.h"

@interface MyViewController ()

@end

@implementation MyViewController

- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  //初始化时调用
{
    NSLog(@"%s", __func__);
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
    }
    return self;
}


- (void)viewDidLoad {                         //self.view加载完成
    [super viewDidLoad];
    NSLog(@"%s", __func__);
}

//永远不要手动调用
//如果想自定义self.view的话,机会只有一次,要珍惜!!!
- (void)loadView                             //加载self.view
{
    self.view = [[UIView alloc] init];
    self.view.backgroundColor = [UIColor redColor];
    NSLog(@"%s", __func__);

}
- (void)viewWillAppear:(BOOL)animated        //将要出现
{
    NSLog(@"%s", __func__);
}

- (void)viewDidAppear:(BOOL)animated         //已经出现
{
    NSLog(@"%s", __func__);
}

- (void)viewWillDisappear:(BOOL)animated     //将要消失
{
    NSLog(@"%s", __func__);
}

- (void)viewDidDisappear:(BOOL)animated      //已经消失
{
    NSLog(@"%s", __func__);
}
- (void)viewWillLayoutSubviews                //将要重新布局
{
    NSLog(@"%s", __func__);
}

- (void)viewDidLayoutSubviews                 //已经重新布局
{
    
}
- (void)dealloc                              //对象被销毁
{
    NSLog(@"%s",__func__);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event   //点击self.view调用
{
    NSLog(@"%s",__func__);
    [self dismissViewControllerAnimated:YES completion:nil];
}



@end
运行应用程序时  输出结果:

2014-08-13 22:18:57.182 ViewSummaryAPP[23716:1321964] -[AppDelegate application:didFinishLaunchingWithOptions:]
2014-08-13 22:18:57.184 ViewSummaryAPP[23716:1321964] -[ViewController loadView]
2014-08-13 22:18:57.184 ViewSummaryAPP[23716:1321964] -[ViewController viewDidLoad]
2014-08-13 22:18:57.185 ViewSummaryAPP[23716:1321964] -[ViewController viewWillAppear:]
2014-08-13 22:18:57.188 ViewSummaryAPP[23716:1321964] -[ViewController viewWillLayoutSubviews]
2014-08-13 22:18:57.188 ViewSummaryAPP[23716:1321964] -[ViewController viewWillLayoutSubviews]
2014-08-13 22:18:57.216 ViewSummaryAPP[23716:1321964] -[ViewController viewDidAppear:]
2014-08-13 22:18:57.548 ViewSummaryAPP[23716:1321964] -[AppDelegate applicationDidBecomeActive:]

应用程序完成启动,第一个视图开始加载,加载完成后将要出现,在将要出现后对view进行布局(将要布局到完成布局),布局完成后,完成显示,这时候应用程序进入活跃状态;

点击ViewController的view时,输出结果:

2014-08-13 22:24:46.451 ViewSummaryAPP[23716:1321964] -[MyViewController initWithNibName:bundle:]
2014-08-13 22:24:46.452 ViewSummaryAPP[23716:1321964] -[MyViewController loadView]
2014-08-13 22:24:46.453 ViewSummaryAPP[23716:1321964] -[MyViewController viewDidLoad]
2014-08-13 22:24:46.456 ViewSummaryAPP[23716:1321964] -[ViewController viewWillDisappear:]
2014-08-13 22:24:46.458 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillAppear:]
2014-08-13 22:24:46.462 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillLayoutSubviews]
2014-08-13 22:24:46.463 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillLayoutSubviews]
2014-08-13 22:24:46.964 ViewSummaryAPP[23716:1321964] -[MyViewController viewDidAppear:]
2014-08-13 22:24:46.965 ViewSummaryAPP[23716:1321964] -[ViewController viewDidDisappear:]

MyViewController 先创建调用initWithNibName,然后MyViewController开始加载视图,完成加载后,ViewController将要消失 ,MyViewController将要出现,对view进行布局,布局完成后,MyViewController出现,ViewController消失; ViewController的消失出现在MyViewController的出现之后;

点击MyViewController的view时,输出结果:

2014-08-13 22:32:31.144 ViewSummaryAPP[23716:1321964] -[MyViewController touchesBegan:withEvent:]
2014-08-13 22:32:31.144 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillDisappear:]
2014-08-13 22:32:31.144 ViewSummaryAPP[23716:1321964] -[ViewController viewWillAppear:]
2014-08-13 22:32:31.145 ViewSummaryAPP[23716:1321964] -[ViewController viewWillLayoutSubviews]
2014-08-13 22:32:31.647 ViewSummaryAPP[23716:1321964] -[ViewController viewDidAppear:]
2014-08-13 22:32:31.647 ViewSummaryAPP[23716:1321964] -[MyViewController viewDidDisappear:]
2014-08-13 22:32:31.647 ViewSummaryAPP[23716:1321964] -[MyViewController dealloc]

先调用touchesBegan方法,MyViewController将要消失,ViewController将要出现  ,对view将要布局;ViewController出现后,MyViewController消失,并且被销毁;由于第一个页面还在,所以不需要loadView、viewDidLoad、viewWillLayoutSubviews;

点击ViewController的view的时候,输出结果:

2014-08-13 22:41:28.972 ViewSummaryAPP[23716:1321964] -[MyViewController initWithNibName:bundle:]
2014-08-13 22:41:28.972 ViewSummaryAPP[23716:1321964] -[MyViewController loadView]
2014-08-13 22:41:28.973 ViewSummaryAPP[23716:1321964] -[MyViewController viewDidLoad]
2014-08-13 22:41:28.974 ViewSummaryAPP[23716:1321964] -[ViewController viewWillDisappear:]
2014-08-13 22:41:28.974 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillAppear:]
2014-08-13 22:41:28.975 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillLayoutSubviews]
2014-08-13 22:41:28.975 ViewSummaryAPP[23716:1321964] -[MyViewController viewWillLayoutSubviews]
2014-08-13 22:41:29.476 ViewSummaryAPP[23716:1321964] -[MyViewController viewDidAppear:]
2014-08-13 22:41:29.477 ViewSummaryAPP[23716:1321964] -[ViewController viewDidDisappear:]

由于MyViewController被销毁了,所以需要重新创建;

组合键Command + h进入后台时输出结果:

2014-08-13 22:42:58.332 ViewSummaryAPP[23716:1321964] -[AppDelegate applicationWillResignActive:]
2014-08-13 22:42:58.876 ViewSummaryAPP[23716:1321964] -[AppDelegate applicationDidEnterBackground:]

应用程序将不活跃,应用程序进入后台;

进入前台时,输出结果:

2014-08-13 22:46:03.697 ViewSummaryAPP[23716:1321964] -[AppDelegate applicationWillEnterForeground:]
2014-08-13 22:46:04.244 ViewSummaryAPP[23716:1321964] -[AppDelegate applicationDidBecomeActive:]

应用程序将进入前台,应用程序变为活跃状态;

Command +h+h,输出结果:

2014-08-13 22:48:35.547 ViewSummaryAPP[23864:1332381] -[AppDelegate applicationWillResignActive:]

结束应用程序过程,输出结果:

2014-08-13 22:49:42.898 ViewSummaryAPP[23864:1332381] -[AppDelegate applicationDidEnterBackground:]
2014-08-13 22:49:42.992 ViewSummaryAPP[23864:1332381] -[MyViewController viewWillDisappear:]
2014-08-13 22:49:42.992 ViewSummaryAPP[23864:1332381] -[MyViewController viewDidDisappear:]
2014-08-13 22:49:42.992 ViewSummaryAPP[23864:1332381] -[AppDelegate applicationWillTerminate:]

应用程序将进入后台,MyViewController 将要消失,MyViewController已经消失,最终应用程序终止;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值