4

新しい子クラスを初期化すると、親クラスのオブジェクトが返されることがわかりました。

親:

- (id)init
{  
    self = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"EditController"];        
    return self;
}

子:

- (id)init
{
    NSLog(@"New child");
    self = [super init];
    return self;
}

子を割り当てて初期化すると、表示されますNew childが、親のクラスのオブジェクトが返されます。子でのみ宣言されたメソッドを呼び出すと、クラッシュが発生します。

ここで初期化プロセスがどのように機能しているか、子オブジェクトを作成する方法を誰かが説明できますか?

4

1 に答える 1

0

クラッシュは、親が自動解放された EditController のインスタンスを返すことによって引き起こされる違いありませんinit。いずれにせよ、ストーリーボードで直接クラス タイプを子のクラス タイプに設定してみませんか?

于 2012-04-22T20:59:51.863 に答える