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

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

作者: 梁森的简书 | 来源:发表于2022-08-18 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