04-控制器的生命周期方法
2013-12-25 16:05
316 查看
源代码下载链接:
04-控制器的生命周期方法.zip
32.3 KB
// MJViewController.hMap |
// MJViewController.h
// 04-控制器的生命周期方法
//
// Created by apple on 13-12-10.
// Copyright (c) 2013年itcast. All rights reserved.
//
#import<UIKit/UIKit.h>
@interfaceMJViewController : UIViewController
@end
// MJViewController.mMap |
// MJViewController.m
// 04-控制器的生命周期方法
//
// Created by apple on 13-12-10.
// Copyright (c) 2013年itcast. All rights reserved.
//
#import"MJViewController.h"
@interfaceMJViewController ()
@end
@implementationMJViewController
#pragma mark控制器的view加载完毕就会调用一次
- (void)viewDidLoad
{
[superviewDidLoad];
NSLog(@"MJViewController------viewDidLoad");
}
#pragma mark控制器的view显示完毕的时候调用
- (void)viewDidAppear:(BOOL)animated
{
[superviewDidAppear:animated];
NSLog(@"MJViewController-------viewDidAppear");
}
#pragma mark控制器的view即将显示的时候调用
- (void)viewWillAppear:(BOOL)animated
{
[superviewWillAppear:animated];
NSLog(@"MJViewController-------viewWillAppear");
}
#pragma mark当控制器的view从父控件中移除的时候,才又可能会执行下面的方法
#pragma mark控制器的view消失完毕的时候调用
- (void)viewDidDisappear:(BOOL)animated
{
[superviewDidDisappear:animated];
NSLog(@"MJViewController-------viewDidDisappear");
}
#pragma mark控制器的view即将消失的时候调用
- (void)viewWillDisappear:(BOOL)animated
{
[superviewWillDisappear:animated];
//本文永久链接,转载请注明出处:http://www.cnblogs.com/ChenYilong/p/3490869.html
NSLog(@"MJViewController-------viewWillDisappear");
}
#pragma mark接收到内存警告就会调用
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
/*
didReceiveMemoryWarning方法内部的实现
1>首先会检测控制器的view有没有父控件
if (self.view.superview == nil) {
//销毁控制器的view
//控制器的view销毁完毕,就会调用控制器的viewDidUnload方法
} else {
//不销毁
}
*/
//内存清除操作(比如释放界面上依赖的模型数据)
}
/*
1.当控制器接收到内存警告时,会调用didReceiveMemoryWarning方法
2.didReceiveMemoryWarning方法内部的默认实现
1>首先会检测控制器的view有没有父控件
if (self.view.superview == nil) { //检测控制器的view在不在屏幕上
//就会尝试销毁控制器的view
//即将销毁的时候,就会调用控制器的viewWillUnload
//销毁完毕的时候,就会调用控制器的viewDidUnload方法
} else {
//不销毁
}
3.当需要再次使用控制器的view时,又会调用loadView方法来创建view
4.接着会调用一系列的生命周期方法
viewDidLoad ---> ......
5.生命周期循环
loadView --> viewDidLoad --> ..可见.. --内存警告--> didReceiveMemoryWarning ---> viewWillUnload --> viewDidUnload ---再次使用---> loadView
*/
@end
https://www.evernote.com/shard/s227/sh/eece6838-bd81-421e-aaa0-9c50aa6b52bc/370bb89d199a6f7453f1e5dc5a14a933
相关文章推荐
- UI进阶--控制器View的创建流程以及生命周期方法
- 创建控制器的方法、控制器加载view过程、控制器view的生命周期、多控制器组合
- 控制器以及view的多种创建方式、 控制器的生命周期方法
- UIKit框架(12)控制器view的生命周期方法
- iOS开发UI篇—0408控制器View的生命周期方法
- 控制器view的生命周期方法
- 视图控制器生命周期中各个重要的方法(Swift) (Important Methods during the Lifecycle of a View Controller)
- 1210笔记//关于导航实例-QQ空间//导航实例-storyboard实现//控制器的生命周期//控制器的生命周期方法
- 视图控制器的生命周期方法
- 视图控制器的生命周期方法
- iOS中控制器的11中生命周期的调用方法以及使用
- iOS UI-(多)视图控制器的生命周期、加载方法和模态视图方法以及屌丝方法
- Servlet 的配置和生命周期方法——day_04
- 控制器的生命周期方法
- 控制器生命周期方法(LifeCycle)
- 控制器的生命周期方法题及内存警告时的处理
- 控制器view的生命周期方法
- 处理URL为模块/控制器/方法的格式
- 【thinkphp3.x】thinkphp3.x中使用A方法实例化控制器对象
- iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法