1

viewDidLoad に NSArray を割り当てています (最初に、それを実行しても問題ありませんか?) しかし、どこで解放すればよいでしょうか? ViewDidUnload、dealloc または didRecieveMemoryWarning で?

(また、解放するようにメッセージを送信するか、nil に設定するか、配列または組み合わせを空にする必要がありますか?)

4

3 に答える 3

1

NSArray を の保持プロパティに割り当て、selfviewDidLoad で (自動) 解放する必要があります。その後、 でリリースしdeallocます。このセットアップでは、viewDidLoad が呼び出されると、「現在の」NSArray があればそれを解放します。

initしかし、可能であれば、関数の 1 つに NSArray を割り当てたほうがよいようです。

于 2010-08-05T22:52:55.913 に答える
0

viewDidLoad で割り当てることができ、割り当てが解除されると、各項目で release が呼び出されます (アイテムを追加するときに保持が呼び出されるため、必要に応じて解放してください)。

不要な場合は、できるだけ早くリリースする必要があります。保持したい場合 (キャッシュであるため)、3 つのケースすべてで解放できますが、複数回解放しないでください。

于 2010-08-05T22:45:05.330 に答える
0

オブジェクトを解放するには、解放メッセージを送信します。

[myObject release];

dealloc のプロパティを参照してください: リリースしてから nil に設定しますか? または単にリリースして詳細を確認してください。

配列を空にする必要はありません。配列の参照カウントがゼロになると、そのすべてのオブジェクトで [object release] が呼び出されます。

于 2010-08-05T22:49:55.610 に答える