Objective-C では、オブジェクトの生成に alloc と init などのイニシャライザを組み合わせて使うというのは、ちょっとでもかじったことがある方はご存じでしょう。 MyObject *obj = [[MyObject alloc] init]; 今日はこの仕組みについてです。まず、この alloc-init について2つのポイントを挙げておきます。 呼出し側はイニシャライザの戻り値を使うことになっている イニシャライザはクラスのインスタンスメソッドとしてプログラマが追加/オーバーライドできる Objective-C ではこのことが言語の基本として存在しているおかげで、オブジェクト生成の柔軟性がぐっと上がっています。イニシャライザはプログラマが実装するので、どのようなインスタンスを返すかは自由です。上記の例で言えば MyObject の init は、MyObject そのも
![ありがとう alloc-init](https://cdn-ak-scissors.b.st-hatena.com/image/square/4cd6bcd98c8e8a2a5ae1b2ffb7d8d168c9b80c31/height=288;version=1;width=512/https%3A%2F%2Fblog.fenrir-inc.com%2Fwp%2Fwp-content%2Fthemes%2Ffenrir_dev%2Fimg%2Fcommon%2Fogp_dev_engineer.png)