美文网首页
IOS关于继承的问题

IOS关于继承的问题

作者: Style_伟 | 来源:发表于2016-09-07 10:01 被阅读81次

    最近在研究腾讯直播,看了腾讯的随心播Demo,突然感觉看不懂了,子类中命名没有调用方法,但是却明显执行了方法中的代码,一点一点追寻源头,发现在父类中执行了方法,但是父类根本就没有实例化,没有创建父类的实例,为什么会执行父类中的方法呢?

    通过demo实验了一下这个另类的机制,发现一个有趣的东西,以前从来没有试过还能这样做:(所继承的都是控制器,其他类没有试过)

    建立三个类,继承关系的类:Son,Sun,SunSun

    当调用SunSun的时候,发现Son和Sun、SunSun的viewDidLoad方法都执行,而且是顺序执行的,从Son,Sun,SunSun依次执行。

    屏幕快照 2016-09-07 上午9.55.55.png

    类似:viewDidAppear等方法,生命周期的方法都是顺序执行了一遍。

    这种机制的好处就是,只需要在父类中调用一次方法,创建子类的时候只要重写方法,就会直接执行,而不需要在声明周期方法里再执行一次。

    例如:添加view的方法,只需要在父类中调用一次,在子类中只需要重写添加view的方法即可,而不需要在viewDidLoad 再调用一次。

    相关文章

      网友评论

          本文标题:IOS关于继承的问题

          本文链接:https://www.haomeiwen.com/subject/forjettx.html