调用的结果
- 父类init中调用的该方法不会被调用
- 子类init中调用的该方法会被调用两次
看过程
image.pngimage.png
- 子类调用init方法的时候首先会去父类中调用一次init方法
- 当在父类的init方法中要调用doSth的时候,实际调用的是子类的doSth,因为此时的self是子类对象。
- 在父类的init方法调用完成后,子类会再调用一次doSth
本质原因
[super init]中的super不是父类对象,仍是当前实例对象本身,只不过是去父类对象中调用该方法。
[super init]中的super不是父类对象,仍是当前实例对象本身,只不过是去父类对象中调用该方法。
本文标题:iOS开发中避免在init中调用的方法和父类init中调用的方法
本文链接:https://www.haomeiwen.com/subject/czaygrtx.html
网友评论