我发现当我初始化一个新的子类时,我得到了一个返回父类的对象。
家长:
- (id)init
{
self = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"EditController"];
return self;
}
孩子:
- (id)init
{
NSLog(@"New child");
self = [super init];
return self;
}
如果我分配并初始化一个孩子,它会显示New child
但会给我一个父类的对象。调用仅在子级中声明的方法会导致崩溃。
有人可以解释这里的初始化过程是如何工作的,以及如何创建一个子对象吗?