スーパーの init メソッドを呼び出して返されると、オブジェクトのスーパークラスの部分が初期化され、使用できるようになります。その後、そのプロパティアクセサーを使用することは正常であり、予想されます。例えば。のサブクラスを作成する場合、(継承された) title プロパティを設定するか、 init メソッドで をUIViewController
変更するのが通常です。navigationItem
つまり、この動作を破ることができます。スーパークラスのメソッドの 1 つ (アクセサ メソッドの 1 つを含む) をオーバーライドし、そのメソッドを init メソッドで呼び出す場合、オブジェクトが完全に初期化される前に、オーバーライドされたメソッドが適切に動作することを確認する必要があります。
もっと微妙に言うと、スーパークラス メソッドをオーバーライドしてから、オーバーライドしていない別のスーパークラス メソッドを呼び出している可能性があります。では、呼び出したメソッドが反転して、オーバーライドしたメソッドを呼び出したらどうなるでしょうか。この可能性も認識しておく必要があります。
そうは言っても、init メソッドの 1 つを呼び出してスーパークラスを初期化した後で、スーパークラスのプロパティ アクセサーを使用してカスタマイズするのはまったく普通のことです。