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