我正在开发我的第一个大型应用程序,无意中让自己因设计中的一个小缺陷而陷入恐慌。我制作了一个计时器,只需按一下按钮即可计数,然后在第二次触摸时转换为具有 60 秒倒计时的辅助计时器。
问题在于,一旦我重复此过程,就会记住 (kRest-Pause) 调用。我希望创建一个默认的 60 倒计时,而不需要时间的延续。我应该在内存中杀死它并为每个后续按钮按下创建一个新实例吗?或者是否有一个逻辑游戏可以查看总时间并在每次新出现时进行更正?
我不知道如何解决这个问题,我已经尝试过带有返回的 -if 语句,因为我了解到这不是这样工作的。任何帮助,将不胜感激
编辑:对不起,不清楚。我对任何口径的编程都很熟悉。到目前为止,主计时器从 10-0 倒计时,然后从 0-120 向上倒计时。在这 2 分钟内,如果再次按下按钮,0-120 计数将暂停 60 秒或直到第三次按下按钮。如果这个 60-0 倒计时达到 0 或被中断,最初的 0-120 倒计时将恢复其计数。我的问题是,如果我第四次按下按钮,60-0 倒计时将从中断的那一刻开始恢复,而不保留默认值 60。这就是为什么我将帖子命名为“在 Objective C 中创建默认值”。这是错误使用这个词和广泛的方式,但这是我能想到的。
kRest=60
-(void)increase{
if (mode==1){
count++;
int d = 10-count;
if (d==0){ timeLabel.text = @"Begin";
[self startPlaybackForPlayer: self.startTimerSound];}
else {timeLabel.text = [NSString stringWithFormat:@"%d", abs(d)];}
if(d<0){
//workign out
active = TRUE;
if (d <= -20) {
[self stopTimer];
}
}
else{
//no user interface
active = FALSE;
}
}
else{
pause++;
countdownLabel.text = [NSString stringWithFormat:@"%d!", (kRest-pause)];
NSLog(@"Paused at time %d", pause);
UIColor *textColor = nil;
if (pause % 2==0){
textColor = [UIColor yellowColor];
}
else{
textColor = [UIColor redColor];
}
timeLabel.textColor = textColor;
if ((kRest-pause)==0){
countdownLabel.text = [NSString stringWithFormat:@"%d!",pause];
mode=1;
pause=0;
[button setTitle:@"Stop" forState:UIControlStateNormal];
repCount++;
myRepCount.text = [NSString stringWithFormat:@"Rep Count: %d", repCount];
countdownLabel.text = @"";
}
}
}