同じUIAlertView*alertViewを使用する複数のViewコントローラークラスがあるとします。*alertViewのデリゲートは集中型デリゲートに設定されます。
.tagを使用して、それに基づいてさまざまなことを実行したいので、これを行います。
問題は、アラートビューを呼び出したり閉じたりするたびに、メモリリークを防ぐために何をする必要があるかということです。
毎回リリースするべきではありませんか?それともこれは非常に悪い考えですか?
ありがとう。
同じUIAlertView*alertViewを使用する複数のViewコントローラークラスがあるとします。*alertViewのデリゲートは集中型デリゲートに設定されます。
.tagを使用して、それに基づいてさまざまなことを実行したいので、これを行います。
問題は、アラートビューを呼び出したり閉じたりするたびに、メモリリークを防ぐために何をする必要があるかということです。
毎回リリースするべきではありませんか?それともこれは非常に悪い考えですか?
ありがとう。
UIAlertView は、アプリのどこからでも「表示」できます。メインのUIViewControllerにタイマーがあり、UIAlertViewを頻繁に表示するアプリがあります。そのタイマーが切れると、表示されているメイン ビューが完全に異なる UIViewController (したがってビュー) からのものであっても、アラートが前面に表示されます。
UIViewControllers のいずれかから UIAlertView を「アクティブに」表示したい場合 (ユーザーのアクションに基づいて言ってみましょう)、次の 2 つのいずれかを行います。
1) Application Delegate Object をそこに実装された UIAlertView でセットアップし、アラート ビューを呼び出す (表示する) ためのアクセサー メソッドを使用して、そこから解放する、または
2) そこに実装された AlertView を使用して、シングルトンのようなオブジェクトを生成します!!!
どちらの場合でも、これらの配置のいずれかに対して記述した dealloc ルーチン内で一度 UIAlertView の割り当てを解除し、オブジェクトの初期化時に一度だけ割り当てることができます。
他のオブジェクトと同じように扱ってください。保持したい場合は、self.myAlert のような保持されたプロパティに割り当てます。通常の作成時と同じように、リリースする必要があります。保持されたプロパティは、あなたのためにそれを維持するように世話をします。
保持 (割り当て、コピーなど) とリリースのバランスを常に維持してください。