1

自動解放されたオブジェクトを解放するとどうなりますか? 解放したい自動解放された UIButton であり、UIButton を作成する唯一の方法は、便利なメソッド buttonWithType: を使用することです。通常のオブジェクトのようにメモリから解放されますか? それとも、autoreleasepool に任せるべきですか? できれば、そもそも自動リリースにしなかったでしょう。

ありがとう!!

4

2 に答える 2

1

自動解放プールに任せてください。ボタンを親ビューに追加すると、そのビューはそれを保持し、自動解放されたハンドルは自動解放プールによって処理されます。

それを考える最も簡単な方法は、所有権の観点からです。便利な方法で取得した参照を「所有」していないため、保持しない限り、わざわざ解放する必要はありません。

于 2009-07-31T04:50:54.653 に答える
0

自分が所有するオブジェクトのみをリリースする必要があります。+buttonWithType: 所有しているオブジェクトを返さないため、解放してはいけません。

Cocoa オブジェクトの所有規則を確認します。

ここで自動解放されたオブジェクトを回避しようとしているのはなぜですか? おそらく、ボタンを使用してビュー階層に挿入しているため、ボタンを作成しているため、ボタンを含む自動解放プールのドレインを加速する本当の理由はありません。

于 2009-07-31T04:53:23.120 に答える