概要init内でインスタンス生成時に一度だけやりたいことを書く場面は多いと思います。 しかし、このinit内でselfを参照しておかしい挙動になって困っていないですか? この記事では、init内でselfを参照することによって起きてしまう問題点 とどう解決するかなどを解説しています。 initメソッド内でself.viewを参照すべきではない結論から先に述べますと、viewのライフサイクルが変わってしまい、通常とは違う動作を行います。 じゃぁ、どうすれば良いのか?init内では、インスタンスの生成にとどめましょう。 frameに関わる変更はloadViewやviewDidLoad以降のメソッドで行う様にする。 これだけです。 それでは、詳細を見て行きましょう。 通常の動作の確認。まず、通常のライフサイクルを簡単に確認しましょう。 - (instancetype) init { self =