2013-03-09 10 views
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]; 
} 

:「認識されていないセレクタがインスタンスに送信されました」 。誰もここに何が間違っているのか説明できますか?

答えて