newの代わりにalloc initを使用する 質問する

newの代わりにalloc initを使用する 質問する

Objective-C を学習し、サンプル コードを読んでいると、オブジェクトは通常次の方法で作成されることに気付きました。

SomeObject *myObject = [[SomeObject alloc] init];

の代わりに:

SomeObject *myObject = [SomeObject new];

これらは同等であると読んだのですが、これには理由があるのでしょうか?

ベストアンサー1

これには多くの理由があります:http://macresearch.org/alloc-init と new の違い

いくつか選ばれたものは次のとおりです:

  • newカスタム初期化子( などinitWithString)をサポートしていません
  • alloc-initより明白であるnew

一般的な意見としては、自分が使いやすいものを使用すべきだということのようです。

おすすめ記事