0

複数選択クイズアプリで 15 秒から実行される NSTimer を使用しています。アプリには 2 つの結果が考えられます。時間がゼロになる場合があり、errorAnswer ビューが表示されます。この場合、Timer は無効化/停止され、その時間の静的整数は次の質問のために 15 にリセットされます。

ただし、もう 1 つの考えられる結果は、時間切れになる前に回答が選択されることです。この場合、メソッド viewWillDisappear を使用して、さらなるアクションをトリガーします。私の問題は、上記のメソッドで宣言されているため、このメソッドから時間の静的整数をリセットできないことです。.hファイルで宣言してみましたが、整数が静的なので問題があります。

現在のビューが消えたかどうかを評価するブール式があるかどうかを知りたいのです。これにより、すべてを同じメソッドに保持し、静的整数をリセットできるためです。

4

1 に答える 1

0

まず、タイマー変数がクラスに対してローカルである場合、それを として宣言する必要はありませんstatic。次に、viewController から問題に対処する機会が 2 つあります:viewWillDisappearviewDidDisappear. 最後に、ビュー プロパティが変更されたかどうかを知る必要がある場合は、KVO メソッドを使用して確認できます。遭遇する問題は、ビューが本当に消えてしまった場合、ビュー オブジェクトを参照するまでにトーストされている可能性があることです。これ以上の情報がなければ、あなたが本当に抱えている問題を知る方法はありません。

また、タイマーを無効にすると、そのタイマーは使用できなくなります。新しいタイマーを作成する必要があります。

于 2012-09-16T04:57:42.520 に答える