本の中で、サブクラスがスーパークラスのメソッドをオーバーライドしている場合、
self = [super init];
まず、これはサブクラスのinit
メソッドで実行されることになっていますか?
第二に、なぜ電話はただではないのだろうか
[super init];
?つまり、呼び出し時にinit
、メモリはすでに割り当てられています(サブクラスの名前はどこにあるalloc
と思います。したがって、メンバー変数を初期化するために呼び出すだけではいけませんか?の戻り値を取得して割り当てる必要があるのはなぜですか?つまり、呼び出す前に、有効なメモリ割り当てチャックを指している必要があります...では、なぜ自分自身に何かを再度割り当てるのですか?[Foobar alloc]
Foobar
[super init]
init
self
[super init]
self
(割り当てる場合、の既存の値[super init]
を返すだけではありませんか?)self