6
私は単純なカウントダウンタイマーを作成しようとしています。プレイヤーが自分のゲームに入ると、タイマーは60から0になります。シンプルなようですが、私はこれをどのように書くのか混乱しています。(NSTimer)タイマーカウントダウンの作成
これまでのところ、私はこのようになります私のGameController.m内のメソッド作成されました:ラベルは、その後のViewController内で設定されている60で、私は、整数時間を初期化するゲームの開始時に
-(int)countDownTimer:(NSTimer *)timer {
[NSTimer scheduledTimerWithTimeInterval:-1
invocation:NULL
repeats:YES];
reduceCountdown = -1;
int countdown = [[timer userInfo] reduceCountdown];
if (countdown <= 0) {
[timer invalidate];
}
return time;
}
を。しかし、コードをコンパイルする瞬間、ラベルは60で表示され、何も減らされません。
ご協力いただければ幸いです。Objective-Cの新機能です。
私は今、2つの別々のメソッドにコードを分離しているから、いくつかの助けを借りてEDIT
。コードは次のようになります。もつとも、コードがまだ正常に実行されていないと私は私のビューコントローラからの方法[ゲームcountDownTimer]を呼び出すとき、それは言って壊し
-(void)countDown:(NSTimer *)timer {
if (--time == 0) {
[timer invalidate];
NSLog(@"It's working!!!");
}
}
-(void)countDownTimer:(NSTimer *)timer {
NSLog(@"Hello");
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(countDown:)
userInfo:nil
repeats:YES];
}
:「認識されていないセレクタがインスタンスに送信されました」 。誰もここに何が間違っているのか説明できますか?