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



我正在使用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];
}

在 .h 文件中将 int i 定义为类变量

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

最新更新