2011-04-04 7 views
-1

カウントダウンタイマーが作動しません。それは画面上の '99'で始まり、そこで停止します。それはまったく動かない。カウントダウンタイマーが作動しない

私のヘッダーファイルにあります。私の.mファイルで

@interface FirstTabController : UIViewController { 
    NSTimer *myTimer; 
} 

@property (nonatomic, retain) NSTimer *myTimer; 

- (void)observeValueForKeyPath:(NSString *)keyPath 
        ofObject:(id)object 
        change:(NSDictionary *)change 
        context:(void *)context { 
    myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown) userInfo:nil repeats:YES]; 
} 

- (void)countDown { 
    int counterInt = 100; 

    int newTime = counterInt - 1; 
    lblCountdown.text = [NSString stringWithFormat:@"%d", newTime]; 
} 

そして私は私のdeallocで 'myTimer' を無効にします。だから誰でも私のコードで何が間違っているか教えてもらえますか?

答えて

2

あなたのタイマー方法は、あなたがcounterIntは100

に(バック)あなたは、静的変数

変更int counterInt = 100;static int counterInt = 100;

に、そしてもちろん、あなたが保存していることを作ることができる設定と呼ばれるたびにcounterIntのデクリメントされた値あなたは、このメソッドの外で変数を必要とする場合

- (void)countDown { 
    static int counterInt = 100; 
    counterInt = counterInt - 1; 
    lblCountdown.text = [NSString stringWithFormat:@"%d", counterInt]; 
} 

あなたはcounterIntあなたのクラスのインスタンス変数にする必要があります。

@interface FirstTabController : UIViewController { 
    int counterInt; 
} 

などとなる。

+0

ありがとう..私はそれを見落とした.. – sicKo