黑马程序员技术交流社区

标题: 重写为什么用[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