我正在使用按钮来激活计时器。在该按钮的代码中,它打开了计时器。我将附上代码,尽管我怀疑它是否会脱离上下文有意义。
- (IBAction)btnStartWasClicked:(NSButton *)sender {
if ([btnStartTitle.title isEqualToString:@"Start"])
{
NSLog(@"Debug: Start button was clicked."); //Debug
//Changes the Start button to say Stop
[btnStartTitle setTitle:@"Stop"];
started = TRUE;
[self tick:nil];
NSLog(@"Debug: Timer has started."); //Debug
[btnReset setEnabled:FALSE];
[btnLap setEnabled:TRUE];
if (lapTimerIsPaused == TRUE)
{
lapTimerIsRunning = TRUE;
[self tickAfterLap:nil];
}
}
else
{
NSLog(@"Debug: Stop button was clicked."); //Debug
//Changes the Stop button to say Start
[btnStartTitle setTitle:@"Start"];
started = FALSE;
NSLog(@"Timer has been stopped."); //Debug
[btnReset setEnabled:TRUE];
lapTimerIsRunning = FALSE;
lapTimerIsPaused = TRUE;
[btnLap setEnabled:NO];
}
我目前有一个讨厌的错误,我不太确定如何摆脱。如果用户非常快速地双击开始按钮,它会:
A) 什么都不做,只是将开始按钮更改为停止。
B)使计时器计数快两倍(如果双击真的很快。)这仅在开始按钮设置为说停止而不是开始时发生。
我的错误是 B。我不太确定如何解决它。
编辑:单圈计时器与常规计时器不同,我认为我遇到的错误不会影响它,所以忽略单圈计时器代码。
有任何想法吗?