我正在使用NSTimer来调用名为Lose的方法。我有一个计时器,当它用完时,它称为Lose,但由于硬盘驱动器错误我丢失了一切。在尝试再次编码后,我似乎无法调用该方法。
Timer = [NSTimer timerWithTimeInterval:timeMax target:self selector:@selector(Lose) userInfo:nil repeats:NO];
在我的.h文件中声明丢失,如下所示:
-(void)Lose;
另外,我的方法如下:
-(void)Lose{
Text.hidden = NO;
scoreLabel.hidden = NO;
Target.hidden = YES;
Targetx.hidden = YES;
if (Score > highScoreNumber) {
highScoreAchieved.hidden = NO;
highScoreNumber = Score;
}
}
变量timeMax是我的.h文件中声明的int,就像上次一样。 无论何时在我的游戏中点击目标,timeMax都会缩短.03秒。我是这样做的:
timeMax = 5 - (Score * 0.03);
在大规模硬件故障之前,我不记得它看起来有什么不同,但为什么它不起作用?
答案 0 :(得分:3)
您必须在运行循环上安排计时器,或者只使用此行而不是为您安排计时器:
Timer = [NSTimer scheduledTimerWithTimeInterval:timeMax
target:self
selector:@selector(Lose)
userInfo:nil
repeats:NO];
总是备份代码也是个好主意......这让我想起了。