5

self = [super init];NSObject のサブクラス化中にカスタム初期化メソッドを記述することは理にかなっていますか? カスタム初期化がある可能性があるため、他のクラスをサブクラス化するときに必要であることはわかっていますが、NSObject init メソッドは何かを行いますか?

4

1 に答える 1

9

オブジェクトは、初期化されるまで使用する準備ができていません。initクラスで定義されたメソッドはNSObject初期化を行いません。それは単に自己を返します。

したがって、基本的には必ずしもサブクラスを呼び出す必要はありませんが[super init]NSObjectそれでもお勧めします。それは単により良いデザインです。スーパークラスを変更しても、引き続き機能します。

ソース:NSObjectクラスリファレンス

于 2012-09-14T16:23:06.313 に答える