1. ホーム
  2. objective-c

[解決済み] newの代わりにalloc initを使用する

2022-03-16 20:33:54

質問

Objective-Cの学習やサンプルコードを読んでいると、オブジェクトは通常このメソッドで作成されることに気づきます。

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

の代わりに

SomeObject *myObject = [SomeObject new];

両者は同等であると書かれていますが、何か理由があるのでしょうか?

どのように解決するのですか?

ここには、さまざまな理由があります。 http://macresearch.org/difference-between-alloc-init-and-new

一部抜粋したものを掲載しています。

  • new はカスタムイニシャライザーをサポートしません。 initWithString )
  • alloc-init よりも明示的です。 new

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