如何在iPhone中重置时间倒计时?

时间:2012-09-24 05:24:16

标签: iphone ios timer reset

我在iPhone应用程序中工作,使用NSTimer创建时间计数在屏幕上设置,如最初100,然后过去像99,98,97等...如果我已完成游戏可用的经过时间,那么我显示AlertView就像成功完成,用户按下确定按钮导航到上一个屏幕,然后再次进入游戏画面,当时经过时间开始时间与之前经过的时间如66,65,64等...我想,当用户去游戏画面再次以100开始计时,如何解决这个问题?,请帮帮我

先谢谢

我试过了:

- (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];
}

1 个答案:

答案 0 :(得分: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;
   }
}