MyView *myView = [[MyView alloc] init];
代码调用过程如下:
动态查找到 MyView 的 init 方法
调用 super init 方法
super init 方法内部执行的是 [super initWithFrame:CGRectZero]
然后 super 会发现 MyView 实现了 initWithFrame 方法
转而执行 [MyView initWithFrame:CGRectZero]
最后再执行 init 其余部分。
其实这很好解释,实际上,在父类中的对象还是子类实例初始化出来的。







网友评论