1

フローティング ウィンドウのように機能し、ウィンドウを非表示にできる「X」ボタンを持つUIViewサブクラスがあります。私の質問は、オブジェクトが自身のクラス内から自分自身を削除することは可能ですか?ToolbarViewUIToolbar

たとえば、 内に、X ボタンが押されたときに起動ToolbarView.mするメソッドがあります。からビューを削除してから呼び出すcloseButtonPushedのと同じくらい簡単ですか? から削除されると、それへの他のポインターがなくなるため、呼び出す必要さえありますか。それとも、これは悪い記憶の習慣ですか?superviewdeallocdeallocsuperview

4

2 に答える 2

4

ええ、dealloc を呼び出さないでください。スーパービューがビューへの参照を持つ唯一のオブジェクトである場合、ビューを削除するとその保持カウントが 0 になり、ランタイムがオブジェクトの割り当てを解除します。

于 2012-05-26T05:39:48.137 に答える
0

あなたがしなければならないことは、closeButtonPushedメソッドで、呼び出すことです

 [self removeFromSuperView];

オブジェクトが削除され、ToolbarViewIOS がdeallocメソッドを呼び出してオブジェクトを解放します。dealloc手動で呼び出す必要はありません。

于 2012-05-26T05:47:03.630 に答える