2012-03-22 15 views
0

私は特定の時刻を含む配列を持っています。現在の時刻が配列内のアラームのようなものです(アラームシステムのように)。 60秒ごとにそれをチェックしますが、タイマーではなく、より良い方法がありますか?継続的に現在の時刻を確認する

+0

次のアラート時間は何か(何らかの種類の待ち行列に時間を置く)を調べ、その時間のタイマーを設定します。時間が上がると次回にデキューし、タイマーを再び設定します。 SOP。 –

答えて

4

希望の時間に発射するように設定されたタイマー(アレイ内の各アイテム用)を使用しないのはなぜですか? 60秒ごとにタイマーを起動するのではなく、
アプリが常時実行されていることを前提とします。

+2

別の解決方法は、特定の時刻にローカル通知/リモート通知(APNS)を発行することです。 – Raptor

+0

あなたのアプリがバックグラウンドになり、依然としてアラートが必要な場合は、それは良い解決策です。 – Ali

+0

あなたは何時(現在の時刻)を知っていますか、あなたはまた、あなたがタイマーを発動させる時間を知っています、あなたはそれらを減算し、あなたのタイマーの時間を設定します。それは明確ですか?コードを投稿するだけでは機能しない場合は、自分や他の人があなたのコードを見直すことができます。 – Ali

1

Aliが言ったことに加えて、より良い設計は、アレイをソートし、最も早い時間にタイマーを設定することです。そのイベントが発生すると、次のイベントのタイマーなどを設定します。タイマーは木の上で成長しません。

+0

もちろん、配列内の項目の数が多くない場合、私は個人的にはそれぞれのためのタイマーを作成します。たぶんその私が、私はそれがより安定/信頼性の高い/シンプルなデザインだと思う。それでも多くのリソースがあり、ローエンドのデバイスを使用している場合は、特に効率的なリソースはありません。 – Ali

関連する問題