2011-01-22 10 views
1

アプリデリゲートが-willResignActiveメッセージを受信し、UIAlertViewが表示されてから0.5秒以内の場合、アプリはもう一度アクティブになると2つのアラートビューを表示します。iPhoneアプリがバックグラウンド状態に入り、UIAlertViewを表示する

これは問題です。最初のアラートビューに応答すると、重複する可能性のあるレスポンダーがない(おそらく!)ため、アプリがクラッシュする可能性があるからです。

思考?

+0

まだ解明されていません。アラートビューへの参照がまだ残っている場合は、[dismissWithClickedButtonIndex:animated:](http://developer.apple.com/library/ios/documentation)から削除できます。 /uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html#//apple_ref/occ/instm/UIAlertView/dismissWithClickedButtonIndex:animated – DarkDust

+0

@DarkDust:私は動作するかもしれない静的なビューを静的にすることができます。私はしたくないだろう。あなたが言うように、私は同意する、それが動作しても、それは問題の中心には達しません。 – SK9

答えて

0

私が持っている最良の解決策は、UIAlertViewへの静的な参照を保持し、(ボタンのインデックス-1をクリックして)閉じ、同じアドレスに新しいインスタンスを解放して割り当てます。これにより、予定または表示される警告ビューは1つだけになります。アラートビューが既に表示されている場合は、新しい要求を無視(または管理)します(ルートビューなどへのフェールセーフポッピングなど)。

UIAlertViewは動作と関係がなく、静的であってはならないため、あまり満足できるものではありません。私の心の中で少なくとも。

関連する問題