美文网首页
iOS开发中避免在init中调用的方法和父类init中调用的方法

iOS开发中避免在init中调用的方法和父类init中调用的方法

作者: 梁森的简书 | 来源:发表于2022-08-19 10:06 被阅读0次

    调用的结果

    1. 父类init中调用的该方法不会被调用
    2. 子类init中调用的该方法会被调用两次

    看过程

    image.png
    image.png
    1. 子类调用init方法的时候首先会去父类中调用一次init方法
    2. 当在父类的init方法中要调用doSth的时候,实际调用的是子类的doSth,因为此时的self是子类对象。
    3. 在父类的init方法调用完成后,子类会再调用一次doSth

    本质原因

    [super init]中的super不是父类对象,仍是当前实例对象本身,只不过是去父类对象中调用该方法。

    相关文章

      网友评论

          本文标题:iOS开发中避免在init中调用的方法和父类init中调用的方法

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