init initWithFrame问题

2018-03-16  本文已影响15人  iOS坚持者

MyView *myView = [[MyView alloc] init];

代码调用过程如下:

动态查找到 MyView 的 init 方法

调用 super init 方法

super init 方法内部执行的是 [super initWithFrame:CGRectZero]

然后 super 会发现 MyView 实现了 initWithFrame 方法

转而执行 [MyView initWithFrame:CGRectZero]

最后再执行 init 其余部分。

其实这很好解释,实际上,在父类中的对象还是子类实例初始化出来的。

上一篇 下一篇

猜你喜欢

热点阅读