ios开发总结之控制器的生命周期

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.运行验证
首先程序运行,就有下面的打印


然后点击第一个控制器上面的按钮跳转到第二个控制器去的时候又有如下打印




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值