ios开发总结之控制器的生命周期
2016-04-24 23:14
405 查看
1.代码
// // OneViewController.m // #import "OneViewController.h" @interface OneViewController () @property (nonatomic, strong) NSArray *apps; @property (nonatomic, strong) NSArray *persons; @end @implementation OneViewController /*** */ /** * view加载完毕就会自动调用 */ - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"OneViewController-viewDidLoad"); } /** * view即将显示到window上 * */ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSLog(@"OneViewController-viewWillAppear"); } /** * view显示完毕(已经显示到窗口) */ - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"OneViewController-viewDidAppear"); } /** * view即将从window上移除(即将看不见) * */ - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; NSLog(@"OneViewController-viewWillDisappear"); } /** * view从window上完全移除(完全看不见) * */ - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; NSLog(@"OneViewController-viewDidDisappear"); } /** * view即将销毁的时候调用 */ - (void)viewWillUnload { [super viewWillUnload]; } /** * view销毁完毕的时候调用 */ - (void)viewDidUnload { [super viewDidUnload]; // 由于控制器的view已经不在了,需要显示在view上面的一些数据也不需要 self.apps = nil; self.persons = nil; //这种方法都可以(arc与非arc) // // [self.apps release]; 通常不采用这种方法,这方法只是非arc的方法 // [self.persons release]; } /** * 当接收到内存警告的时候(控制器接收到内存警告的时候,他会做什么操作(调用什么方法)也就是super处理的时候会做什么操作(内存警告 :首先是代理知道(AppDelegate.m)然后通知控制器 …… */ - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
<pre name="code" class="objc">// // TwoViewController.m #import "TwoViewController.h" @interface TwoViewController () @end @implementation TwoViewController /** * view加载完毕 */ - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"TwoViewController-viewDidLoad"); } /** * view即将显示到window上 * */ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSLog(@"TwoViewController-viewWillAppear"); } /** * view显示完毕(已经显示到窗口) */ - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"TwoViewController-viewDidAppear"); } /** * view即将从window上移除(即将看不见) * */ - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; NSLog(@"TwoViewController-viewWillDisappear"); } /** * view从window上完全移除(完全看不见) * */ - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; NSLog(@"TwoViewController-viewDidDisappear"); } @end
2.运行验证
首先程序运行,就有下面的打印然后点击第一个控制器上面的按钮跳转到第二个控制器去的时候又有如下打印
相关文章推荐
- iOS自定义控件的封装细节
- IOS 图片水印或者文字
- IOS9关于搜索的认识和实现
- IOS9关于搜索的认识和实现
- iOS开发总结之沙盒存储
- iPhone越狱后,常见路径大全
- iOS开发之 协议 protocol
- iOS中的线程与进程
- iOS中最常用的设计模式MVC。
- iOS 7系列译文:忘记NSURLConnection,拥抱NSURLSession吧!
- 对于ios7.0以后的截屏功能
- ios在后台每隔一段时间执行一下 资料3
- IOS在后台每隔一段时间执行一下 资料2
- IOS在后台每隔一段时间执行一下 资料1
- IOS开发时必须知道的哪些事。。。
- 对懂球帝ios版的用户体验
- iOS设计模式之原型模式
- 可复用且高度解耦的iOS用户统计实现
- 配合LLDB调试器进行iOS代码调试
- Macbook SSD硬盘空间不够用了?来个Xcode大瘦身吧!