黑马程序员技术交流社区
标题:
重写为什么用[super 方法];
[打印本页]
作者:
一步步往上爬
时间:
2016-1-21 19:13
标题:
重写为什么用[super 方法];
重写为什么用[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. 而我们仅仅是在系统方法运行的基础上,去添加自己的一些操作
作者:
小石头16544
时间:
2016-1-21 23:26
赞一个,前两天刚学的,同学在哪学的啊
作者:
红凉梦
时间:
2016-1-23 11:41
加油,赞一个,加油加油
作者:
水丹青
时间:
2016-1-23 21:24
等大神等大神
作者:
guyuexing
时间:
2016-1-23 22:30
加油加油
作者:
小石头16544
时间:
2016-1-23 23:08
楼主在哪学的oc啊?我们也学了【super 方法】,但是感觉没你学的深啊
作者:
有款不辩
时间:
2016-1-26 18:38
学习了~~~~~~~~~
作者:
有款不辩
时间:
2016-1-26 18:39
学习了~~~~~~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2