0

(アプリのライフ サイクル全体で) メソッド内に (セレクターを使用して) いくつかの UIButton を作成し、それらすべてを NSMutableArray に貼り付けます。作成されたボタンはプロパティではありませんが、配列はプロパティです。

  1. 配列からボタンを削除すると、ボタンは自動的にメモリから解放されますか?
  2. 上記の答えが「いいえ」の場合、メモリから解放するにはどうすればよいですか?
4

2 に答える 2

1

ボタンは、誰も保持していないため、最終的にはメモリから解放されます。その保持カウントは関係なくデクリメントされますが、他の誰もそれを保持していない場合にのみ、メモリから解放されます。

ただし、これはやや紛らわしいメカニズムです。UIButtons はビューであり、おそらくそれらを保持するビュー階層の一部であることに注意してください。それらも表示されている場合、解放するにはスーパービューから削除する必要があります。

于 2013-05-19T15:31:33.297 に答える
1

a NSArray(および a NSMutableArray) に入れたものはすべて配列によって保持され、配列から削除されたとき、または配列自体が解放されたときに解放されます。ボタンやその他のオブジェクトにも当てはまります。

于 2013-05-19T15:31:45.377 に答える