2009-08-06 5 views
0

NSTimerを使ってカウントダウンを行うにはどうしたらいいですか?私はいくつかの事を試してみましたが、数字を扱ういくつかのエラーがありましたが、私が起こしたいのは、自分のタイマーが起動すると5時から始まり、毎秒です。私のラベルにそう....NSTimer質問

(タイマ1 == 5時00分)は、このコードは私にエラーを与えるいくつかの理由

{

//ラベルは5

が表示されます}場合5時を使用して..また、私はそれが呼ばれることもないと思うタイマーが時間がなくなるまでメソッドをアクティブにしないので、私はちょっと固まっている:/任意の助け?

答えて

1

5:00はCまたはObjective-Cで有効な数値ではありません。

あなたがやりたいことは、developer.apple.comのObjective-Cチュートリアルのイントロを読んでから、ある種の「iPhoneのプログラミング」という本をフォローアップすることです。

あなたの質問は、かなり完全な理解の欠如を示しています。何も間違ってはいけません。あなたの前でたくさんの勉強や学習をしなければならないと思っています。あなたがそれを行うたら

、あなたはこれを理解することができます:

繰り返しNSTimer

は(あなたの間隔が何であれ)すべてのN分/秒/時間/日を発射することは保証されません。スロープがあります。タイマーが鳴ったときに何が起こるかに応じてかなりの傾きがあります。

したがって、頻繁に起動する定期的なタイマーを作成したい場合は、UIを更新してから別のメカニズムを使用して正確にどれくらいの時間が経過したかを把握してください。

開始時間を取得する - どこかに格納してから、実際に経過した時間を決定するために使用します(別の[NSDate date]を取得して最初の時間を引いて経過時間を取得します)。時間)。

+0

はまた、あなたが設定しないときことに注意してくださいタイマーが起動する時間間隔は、おそらく1秒未満にします。そうすれば、あなたのタイマーが急に2秒遅れてジャンプして追いつくような問題はありません。何かを更新して早く帰る必要はないということに気付くでしょう。 –

+0

タイマーの設定が速くなればなるほど、バッテリー消費量は増えます。 – bbum

0

の代わりに、この次の手順を実行します。 uはタイマー

を好きな場所[NSTimer scheduledTimerWithTimeInterval次のコードを挿入します。(第2の時間間隔) ターゲット:自己 セレクター:@selector(timerFired1 :) のUserInfo :nil リピート:NO];

- (無効)timerFired1:(NSTimer *)タイマー { //あなたがその指定された時間間隔 後に実行したいここに物事ん}