您的位置:首页 > 移动开发 > IOS开发

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.运行验证
首先程序运行,就有下面的打印
然后点击第一个控制器上面的按钮跳转到第二个控制器去的时候又有如下打印
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: