2012-09-24 52 views
0

我在iPhone應用程序工作,使用NSTimer創建時間計數設置在屏幕像最初100然後過了像99,98,97等...如果我已經完成了可用遊戲時間的遊戲,然後我顯示AlertView像成功完成,用戶按OK按鈕導航到前一個屏幕,然後再次進入遊戲屏幕,在經過的時間以前經過的時間開始像66,65,64等......我想,當用戶去遊戲畫面再次計時開始與100,如何解決這個問題?請幫我如何重置iPhone中的時間倒計時?

由於提前

我嘗試這樣做:

- (void)viewDidLoad 
{ 
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(elapsedTime) userInfo:nil repeats:YES]; 
} 


-(void)elapsedTime 
{ 
    static int i = 100; 
    NSLog(@"i:%d",i); 

    lbl.text = [NSString stringWithFormat:@"%d",i];  

    i--; 
    if(i<0) 
    { 
     [timer invalidate]; 
     timer = nil; 
    } 
} 

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    [timer invalidate]; 
    timer = nil; 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

回答

2

定義INT I作爲類變量在.h文件中

- (void)viewDidLoad 
{ 
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(elapsedTime) userInfo:nil repeats:YES]; 
    i = 100; 
} 

-(void)elapsedTime 
{ 
    i--; 
    if(i<0) 
    { 
    //show alertView here 
    [timer invalidate]; 
    timer = nil; 
    } 
} 
+0

感謝您的回覆 – SampathKumar