为何需要调用“super viewDidLoad”

本文探讨了在Objective-C中为何需要调用`super`关键字,特别是`super viewDidLoad`和`super didReceiveMemoryWarning`。调用父类方法确保了初始化工作正确执行,防止子类覆盖父类必要的操作。同时,文章提到了`viewDidLoad`和`viewDidUnload`的调用时机,建议在子类中先调用父类的方法,再执行自定义代码。

一、为何需要调用“super viewDidLoad”

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

}

- (void)viewDidLoad {


    [super viewDidLoad];

}


在上面的代码中,什么需要调用父类相应的方法呢?

viewDidLoad为例,父类(super)中的viewDidLoad会帮助你做一些初始化的工作,比如A是父类,B继承ABviewDidLoad方法中创建和初始化了一些成员;C又继承B,此时,如果C在调用viewDidLoad的时候没有调用superviewDidLoad方法,那么就会有一些成员没有被初始化,可能就会产生问题。 



二、[super viewDidLoad]和[super viewDidUnload]的调用时机:

 

(1)在iPhone/iPad编程中,viewDidLoad方法用于在试图控制器中加载视图时的初始化处理

在《iPhone4与iPad开发基础教程》中出现过两种写法

  第一种写法:

  - (void)viewDidLoad {

  [super viewDidLoad];

  // 其他代码

  }

  第二种写法:

  - (void)viewDidLoad {

  // 其他代码

  [super viewDidLoad];

  }

不过,我觉得第一种写法更可取,先调用父类的加载代码,再进行自身的加载。

(2)viewDidUnload方法用于在卸载视图时的释放资源处理,比如释放输出口、释放内存等

  - (void)viewDidUnload {

  // 释放代码,比如:self.xxx = nil;

  [super viewDidUnload];

  }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值