重写为什么用[super 方法];
可以不调用super 方法的,这个是根据需求来的
通常会调用一下
如果要执行父类中对应的方法,就调用,反之可以不调用
就例如
1. viewDidLoad 是代表view已经创建完成,但是我们知道view创建完成了,仅仅是
对象实例化了,至于view是否要显示在界面上,是由系统去做的
2. 而系统想将view显示在界面上的前提是 view必须创建完成
3. 那系统如何知道view显示完成了呢?通过viewDidLoad 方法
4. 所以系统的viewDidLoad方法中,包含了向系统传递消息的机制,这个传递的消息就是
让系统将view显示在界面上
5. 如果我们重写了viewDidLoad方法,而不去调用父类中的方法
6. 那也就代表的父类中所有的方法都不执行,其中不执行的也包括传递消息的机制
7. 这样也就会造成,系统不知道view是否创建完成
8. 所以除非自己重写的时候,去额外的在给系统发送这样一个创建完成的机制,否则系统永远都
不会去将view显示在界面上
9. 所以调用[super 方法]就是为了让系统本身的方法该怎么运行就怎么运行
10. 而我们仅仅是在系统方法运行的基础上,去添加自己的一些操作
|
|