0

オブジェクトへのポインタを再割り当てせずにオブジェクトを初期化しないでください。例として、次のことは行わないでください。

NSObject *someObject = [NSObject alloc];
[someObject init];

init の呼び出しが他のオブジェクトを返す場合、最初に割り当てられたが初期化されていないオブジェクトへのポインターが残ります。

実際、これは Apple の ObjC ドキュメントの例ですが、これについてはよくわかりません。つまり、NSObject *someObject = [[NSObject alloc] init]必要なオブジェクトを promise で返すことができるのに、NSObject *someObject = [NSObject alloc]; [someObject init];できないのはなぜですか?

4

1 に答える 1

3

-init が someObject とは異なるものを返す可能性があるという理由だけで。あなたの例では、ポインタを -init の結果に再割り当てする必要があります。

于 2012-11-09T02:49:16.810 に答える