美文网首页
iOS 生命周期问题

iOS 生命周期问题

作者: yuezishenyou | 来源:发表于2018-12-05 16:42 被阅读0次
引言:

生命周期包括:
a.程序的生命周期
b.控制器的生命周期
c.试图的生命周期

程序生命周期

a. 首次启动, 会调用(1.已经完成启动,2.已经进入活跃状态)
b. 按home键退后台(1.将要进入非活跃状态,2.已经进入后台)
c. 从后台进入前台(1.将要进入前台,2.已经进入活跃状态)
d.从前台终止程序(1.将要进入非活跃状态,2.已经进入后台,3.程序将要终止)
e.从后台终止程序(不会走任何方法)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSLog(@"---------已经完成启动-----------");
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    NSLog(@"---------将要进入非活跃状态-----------");
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    NSLog(@"---------已经进入后台-----------");
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    NSLog(@"---------将要进入前台-----------");
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSLog(@"---------已经进入活跃状态-----------");
}

- (void)applicationWillTerminate:(UIApplication *)application {
    NSLog(@"---------程序将要终止-----------");
}
控制器生命周期

执行顺序是下图代码顺序
注意下页面跳转的时候, (将要显示, 将要消失,已经消失,已经消失)

- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    NSLog(@"------initWithNibName-----");
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
    }
    return self;
}

- (void)loadView {
    [super loadView];
    NSLog(@"------loadView-----");
}

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"------viewDidLoad-----");
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSLog(@"------viewWillAppear-----");
}

- (void)viewWillLayoutSubviews {
    [super viewWillLayoutSubviews];
    NSLog(@"------viewWillLayoutSubviews-----");
}

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    NSLog(@"------viewDidLayoutSubviews-----");
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    NSLog(@"------viewDidAppear-----");
}

- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    NSLog(@"------viewWillDisappear-----");
}

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    NSLog(@"------viewDidDisappear-----");
}

View生命周期

我面试的时候, 就考到了一题, View的生命周期是什么, 目前我不明白要讲什么玩意.


相关文章

网友评论

      本文标题:iOS 生命周期问题

      本文链接:https://www.haomeiwen.com/subject/dcswcqtx.html